Funkcija get_called_class
Funkcija get_called_class atgriež klases nosaukumu, kura kontekstā tika izsaukta statiskā metode. Tas ir noderīgi, strādājot ar mantošanu, kad nepieciešams noteikt, no kuras tieši klases tika izsaukta metode.
Sintakse
get_called_class();
Piemērs
Izveidosim divas klases un izsauksim metodi no apakšklases:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Koda izpildes rezultāts:
'ChildClass'
Piemērs
Pārbaudīsim funkcijas darbību, izsaucot to no vecāku klases:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Koda izpildes rezultāts:
'A'
'B'
Piemērs
Funkcijas izmantošana vajadzīgās klases objektu izveidošanai:
<?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);
?>
Koda izpildes rezultāts:
'Product'
Skatiet arī
-
funkciju get_class,
kas atgriež objekta klasi -
funkciju get_parent_class,
kas atgriež vecāku klasi