АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
323 of 410 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Функция 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