Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
323 of 410 menu

Функцыя 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,
    якая вяртае бацькоўскі клас
byenru