НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
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,
    которая возвращает родительский класс
Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить