Funktio get_called_class
Funktio get_called_class palauttaa sen luokan nimen, jonka kontekstissa staattinen metodi kutsuttiin. Tämä on hyödyllistä perinnän yhteydessä, kun on määritettävä, mistä tarkalleen ottaen luokasta metodia kutsuttiin.
Syntaksi
get_called_class();
Esimerkki
Luodaan kaksi luokkaa ja kutsutaan metodia lapsiluokasta:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Koodin suorituksen tulos:
'ChildClass'
Esimerkki
Tarkistetaan funktion toiminta kutsuttaessa yliluokasta:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Koodin suorituksen tulos:
'A'
'B'
Esimerkki
Funktion käyttö halutun luokan olioiden luomiseen:
<?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);
?>
Koodin suorituksen tulos:
'Product'
Katso myös
-
funktion get_class,
joka palauttaa olion luokan -
funktion get_parent_class,
joka palauttaa yliluokan