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 функциясын,
ал ата-классты кайтарат