Funksioni get_called_class
Funksioni get_called_class kthen emrin e klasës, në kontekstin e së cilës është thirrur një metodë statike. Kjo është e dobishme kur punoni me trashëgimi, kur duhet të përcaktoni se nga e cila klasë është thirrur metoda.
Sintaksa
get_called_class();
Shembull
Le të krijojmë dy klasa dhe të thërrasim metodën nga klasa e bijë:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Rezultati i ekzekutimit të kodit:
'ChildClass'
Shembull
Le të kontrollojmë funksionimin e funksionit kur thirret nga klasa prind:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Rezultati i ekzekutimit të kodit:
'A'
'B'
Shembull
Përdorimi i funksionit për të krijuar objekte të klasës së duhur:
<?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);
?>
Rezultati i ekzekutimit të kodit:
'Product'
Shihni gjithashtu
-
funksionin get_class,
i cili kthen klasën e objektit -
funksionin get_parent_class,
i cili kthen klasën prind