get_called_class funksiyasi
get_called_class funksiyasi statik metod qaysi klass kontekstida chaqirilgan bo'lsa, shu klassning nomini qaytaradi. Bu meros olish bilan ishlashda, metod aniq qaysi klassdan chaqirilganligini aniqlash kerak bo'lganda foydalidir.
Sintaksis
get_called_class();
Misol
Keling, ikkita klass yaratamiz va metodni voris klassdan chaqiramiz:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Kodni bajarish natijasi:
'ChildClass'
Misol
Keling, funksiyaning ishlashini ota-klassdan chaqirilganda tekshiramiz:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Kodni bajarish natijasi:
'A'
'B'
Misol
Kerakli klass ob'ektlarini yaratish uchun funksiyadan foydalanish:
<?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);
?>
Kodni bajarish natijasi:
'Product'
Shuningdek qarang
-
get_class funksiyasi,
obyektning klassini qaytaradi -
get_parent_class funksiyasi,
ota-klassni qaytaradi