Fungsi get_called_class
Fungsi get_called_class mengembalikan nama kelas dalam konteks yang mana kaedah statik dipanggil. Ini berguna apabila bekerja dengan pewarisan, apabila perlu menentukan dari kelas mana sebenarnya kaedah itu dipanggil.
Sintaks
get_called_class();
Contoh
Mari buat dua kelas dan panggil kaedah dari kelas anak:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Hasil pelaksanaan kod:
'ChildClass'
Contoh
Mari kita semak kerja fungsi apabila dipanggil dari kelas induk:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Hasil pelaksanaan kod:
'A'
'B'
Contoh
Menggunakan fungsi untuk mencipta objek kelas yang diperlukan:
<?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);
?>
Hasil pelaksanaan kod:
'Product'
Lihat juga
-
fungsi get_class,
yang mengembalikan kelas objek -
fungsi get_parent_class,
yang mengembalikan kelas induk