Kazi get_called_class
Kazi get_called_class hurudisha jina la darasa, katika muktadha ambao njia tuli ilitolewa. Hii ni muhimu wakati wa kufanya kazi na urithi, inapohitajika kubainisha ni kutoka kwa darasa gani hasa njia ilitolewa.
Syntax
get_called_class();
Mfano
Wacha tuunde madarasa mawili na tutoe njia kutoka kwa darasa la mtoto:
<?php
class ParentClass {
public static function test() {
return get_called_class();
}
}
class ChildClass extends ParentClass {}
echo ChildClass::test();
?>
Matokeo ya utekelezaji wa kificho:
'ChildClass'
Mfano
Wacha tuangalie utendaji kazi wa kazi wakati wa kuitoa kutoka kwa darasa la mzazi:
<?php
class A {
public static function who() {
return get_called_class();
}
}
class B extends A {}
echo A::who();
echo "\n";
echo B::who();
?>
Matokeo ya utekelezaji wa kificho:
'A'
'B'
Mfano
Matumizi ya kazi ya kuunda vitu vya darasa linalohitajika:
<?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);
?>
Matokeo ya utekelezaji wa kificho:
'Product'
Angalia pia
-
kazi get_class,
ambayo hurudisha darasa la kitu -
kazi get_parent_class,
ambayo hurudisha darasa la mzazi