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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне