Функција get_called_class
Функција get_called_class враћа име класе у чијем контексту је позвана статичка метода. Ово је корисно при раду са наслеђивањем, када треба одредити из које тачно класе је метода позвана.
Синтакса
get_called_class();
Пример
Направићемо две класе и позвати метод из изведене класе:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Резултат извршавања кода:
'ChildClass'
Пример
Проверићемо рад функције приликом позива из родитељске класе:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Резултат извршавања кода:
'A'
'B'
Пример
Коришћење функције за креирање објеката жељене класе:
<?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);
?>
Резултат извршавања кода:
'Product'
Погледајте такође
-
функцију get_class,
која враћа класу објекта -
функцију get_parent_class,
која враћа родитељску класу