Funksie get_called_class
Die funksie get_called_class gee die naam van die klas terug, in die konteks waarvan die statiese metode geroep is. Dit is nuttig wanneer gewerk word met oorerwing, wanneer vasgestel moet word uit presies watter klas die metode geroep is.
Sintaksis
get_called_class();
Voorbeeld
Laat ons twee klasse skep en die metode uit die afgeleide klas roep:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Resultaat van kode-uitvoering:
'ChildClass'
Voorbeeld
Laat ons die werking van die funksie toets wanneer dit uit die ouerklas geroep word:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Resultaat van kode-uitvoering:
'A'
'B'
Voorbeeld
Die gebruik van die funksie om objekte van die nodige klas te skep:
<?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);
?>
Resultaat van kode-uitvoering:
'Product'
Sien ook
-
die funksie get_class,
wat die klas van die objek teruggee -
die funksie get_parent_class,
wat die ouerklas teruggee