forward_static_call функциясы
forward_static_call функциясы классдын статикалык методун,
кеч статикалык байланышты (Late Static Binding) колдонуп чакырууга мүмкүндүк берет. Биринчи параметр катары
[класс, метод] массиви же методдун атынан турган сап түрүндөгү callback-функция берилет,
ал эми кийинки параметрлер - чакырылуучу методго аргументтер болуп саналат.
Синтаксис
forward_static_call(callable $callback, mixed ...$args): mixed
Мисал
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 сыяктуу эле, бирок аргументтерди массив түрүндө кабыл алат