get_called_class Fonksiyonu
get_called_class fonksiyonu, statik bir metodun hangi sınıf bağlamında çağrıldığını döndürür. Bu, bir metodun tam olarak hangi sınıftan çağrıldığını belirlemenin gerekli olduğu kalıtım ile çalışırken faydalıdır.
Sözdizimi
get_called_class();
Örnek
İki sınıf oluşturalım ve alt sınıftan bir metot çağıralım:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Kodun çalıştırılma sonucu:
'ChildClass'
Örnek
Fonksiyonun üst sınıftan çağrıldığında çalışmasını kontrol edelim:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Kodun çalıştırılma sonucu:
'A'
'B'
Örnek
İstenilen sınıfın nesnelerini oluşturmak için fonksiyonun kullanımı:
<?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 çalıştırılma sonucu:
'Product'
Ayrıca Bakınız
-
get_class fonksiyonu,
bir nesnenin sınıfını döndürür -
get_parent_class fonksiyonu,
üst sınıfı döndürür