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 ֆունկցիան,
որը վերադարձնում է ծնողական դասը