Функсияи forward_static_call
Функсияи forward_static_call имкон медиҳад, ки усули static-и як классро
бо истифода аз пайвастани static-и дер (Late Static Binding) фаро хонед. Параметри якум
чун callback-функсия дар шакли массиви [класс, усул] ё сатри бо номи усул интиқол дода мешавад,
ва параметрҳои баъдина - аргументҳо барои усули фарохондашуда мебошанд.
Синтаксис
forward_static_call(callable $callback, mixed ...$args): mixed
Мисол
Фарохондани усули static тавассути forward_static_call:
<?php
class A {
public static function test() {
return static::class;
}
}
class B extends A {}
$res = forward_static_call(['B', 'test']);
echo $res;
?>
Натиҷаи иҷрои код:
'B'
Мисол
Додани аргументҳо ба усули фарохондашаванда:
<?php
class Calculator {
public static function add($a, $b) {
return $a + $b;
}
}
$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>
Натиҷаи иҷрои код:
8
Инчунин нигаред
-
функсияи
call_user_func,
ки callback-функсияро фаро мехонад -
функсияи
forward_static_call_array,
ки ба forward_static_call монанд аст, вале аргументҳоро дар шакли массив қабул мекунад