Njia __callStatic
Njia __callStatic ni njia ya kichawi katika PHP, ambayo inaitwa kiotomatiki wakati wa kujaribu kuita njia ya statiki isiyopo au isiyopatikana. Inakubali parameta ya kwanza kama jina la njia inayoitwa, na ya pili kama safu ya hoja zilizopitishwa.
Syntax
public static function __callStatic(string $name, array $arguments);
Mfano
Wacha tuunde darasa lenye njia __callStatic na tujaribu kuita njia ya statiki isiyopo:
<?php
class MyClass {
public static function __callStatic($name, $args) {
echo "Called static method '$name' with arguments: ";
print_r($args);
}
}
MyClass::nonExistentMethod(1, 2, 3);
?>
Matokeo ya utekelezaji wa kodi:
Called static method 'nonExistentMethod' with arguments: [1, 2, 3]
Mfano
Wacha tutekeleze uwakilishi rahisi wa kujenga vitu vya aina tofauti:
<?php
class Factory {
public static function __callStatic($name, $args) {
if (strpos($name, 'create') === 0) {
$className = substr($name, 6);
return new $className(...$args);
}
throw new Exception("Method $name not found");
}
}
class User {}
$user = Factory::createUser();
var_dump($user instanceof User);
?>
Matokeo ya utekelezaji wa kodi:
true