Hàm get_called_class
Hàm get_called_class trả về tên của lớp trong ngữ cảnh mà phương thức tĩnh được gọi. Điều này hữu ích khi làm việc với tính kế thừa, khi cần xác định phương thức được gọi từ lớp cụ thể nào.
Cú pháp
get_called_class();
Ví dụ
Tạo hai lớp và gọi phương thức từ lớp con:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Kết quả thực thi mã:
'ChildClass'
Ví dụ
Kiểm tra hoạt động của hàm khi gọi từ lớp cha:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Kết quả thực thi mã:
'A'
'B'
Ví dụ
Sử dụng hàm để tạo các đối tượng của lớp cần thiết:
<?php
class Factory {
public static function create() {
$class = get_called_class();
return new $class;
}
}
class Product extends Factory {}
$obj = Product::create();
echo get_class($obj);
?>
Kết quả thực thi mã:
'Product'
Xem thêm
-
hàm get_class,
trả về lớp của đối tượng -
hàm get_parent_class,
trả về lớp cha