forward_static_call funksiýasy
forward_static_call funksiýasy, giňişleýin statik baglanyşygy (Late Static Binding) ulanyp, klasyn statik usulyny çagyrmaga rugsat berýär. Birinji parametr hökmünde [klas, usul] görnüşinde massiw ýa-da usulyň ady bilen setir görnüşinde callback-funksiýa geçirilýär, soňky parametrler bolsa çagyrylýan usul üçin argumentlerdir.
Sintaksis
forward_static_call(callable $callback, mixed ...$args): mixed
Mysal
forward_static_call arkaly statik usuly çagyrmak:
<?php
class A {
public static function test() {
return static::class;
}
}
class B extends A {}
$res = forward_static_call(['B', 'test']);
echo $res;
?>
Kody ýerine ýetirmegiň netijesi:
'B'
Mysal
Çagyrylýan usula argumentleri geçirmek:
<?php
class Calculator {
public static function add($a, $b) {
return $a + $b;
}
}
$res = forward_static_call(['Calculator', 'add'], 5, 3);
echo $res;
?>
Kody ýerine ýetirmegiň netijesi:
8
Şeýle-de serediň
-
call_user_funcfunksiýasyny,
ýagny callback-funksiýany çagyrýan -
forward_static_call_arrayfunksiýasyny,
ýagny forward_static_call-a meňzeş, ýöne argumentleri massiw görnüşinde kabul edýän