get_called_class ֆունկցիան

get_called_class ֆունկցիան վերադարձնում է այն դասի անունը, որի կոնտեքստում կանչվել է ստատիկ մեթոդը: Սա օգտակար է ժառանգման հետ աշխատելիս, երբ անհրաժեշտ է որոշել, թե կոնկրետ որ դասից է կանչվել մեթոդը:

Շարահյուսություն

phpget_called_class();

Օրինակ

Ստեղծենք երկու դաս և կանչենք մեթոդը դուստր դասից.

php<?php
  class ParentClass {
    public static function test() {
      return get_called_class();
    }
  }

  class ChildClass extends ParentClass {}

  echo ChildClass::test();
?>

Կոդի կատարման արդյունք.

php'ChildClass'

Օրինակ

Ստուգենք ֆունկցիայի աշխատանքը ծնողական դասից կանչելիս.

php<?php
  class A {
    public static function who() {
      return get_called_class();
    }
  }

  class B extends A {}

  echo A::who();
  echo "\n";
  echo B::who();
?>

Կոդի կատարման արդյունք.

php'A'
'B'

Օրինակ

Ֆունկցիայի օգտագործումը անհրաժեշտ դասի օբյեկտներ ստեղծելու համար.

php<?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);
?>

Կոդի կատարման արդյունք.

php'Product'

Տես նաև

  • get_class ֆունկցիան,
    որը վերադարձնում է օբյեկտի դասը
  • get_parent_class ֆունկցիան,
    որը վերադարձնում է ծնողական դասը