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