Funktsioon get_called_class
Funktsioon get_called_class tagastab klassi nime, mille kontekstis staatiline meetod kutsuti. See on kasulik pärimisega töötamisel, kui on vaja kindlaks teha, millisest klassist meetod kutsuti.
Süntaks
get_called_class();
Näide
Loome kaks klassi ja kutsume meetodi alamklassist:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Koodi täitmise tulemus:
'ChildClass'
Näide
Kontrollime funktsiooni tööd kui kutsutakse vanemklassist:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Koodi täitmise tulemus:
'A'
'B'
Näide
Funktsiooni kasutamine soovitud klassi objektide loomiseks:
<?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);
?>
Koodi täitmise tulemus:
'Product'
Vaata ka
-
funktsiooni get_class,
mis tagastab objekti klassi -
funktsiooni get_parent_class,
mis tagastab vanemklassi