get_called_class funksiyası
get_called_class funksiyası, statik metodun çağırıldığı kontekstdəki sinfin adını qaytarır. Bu, miras alma ilə işləyərkən, metodun hansı sinifdən çağırıldığını müəyyən etmək lazım olduqda faydalıdır.
Sintaksis
get_called_class();
Nümunə
Iki sinif yaradaq və metodu alt sinifdən çağıraq:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Kodun icrasının nəticəsi:
'ChildClass'
Nümunə
Funksiyanın ana sinifdən çağırıldıqda işini yoxlayaq:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Kodun icrasının nəticəsi:
'A'
'B'
Nümunə
Lazımi sinif obyektlərini yaratmaq üçün funksiyadan istifadə:
<?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);
?>
Kodun icrasının nəticəsi:
'Product'
Həmçinin baxın
-
get_class funksiyası,
obyektin sinfini qaytarır -
get_parent_class funksiyası,
ana sinfi qaytarır