Συνάρτηση forward_static_call
Η συνάρτηση forward_static_call επιτρέπει την κλήση μιας στατικής μεθόδου μιας κλάσης,
χρησιμοποιώντας δέσμευση late static binding (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, αλλά δέχεται ορίσματα σε μορφή πίνακα