Ce face forward_static_call_array
forward_static_call_array este pentru forward_static_call ce este call_user_func_array pentru call_user_func: primește argumentele într-un singur tablou. Cheile text devin argumente cu nume.
Parametri
| Parametru | Descriere |
|---|---|
$callback |
Metoda apelată. |
$args |
Tabloul cu argumente. |
Ce returnează
Ce returnează metoda apelată.
Exemple
Exemplul 1: Argumente dintr-un tablou
<?php
class Model
{
public static function creeaza(string $nume, float $pret): string
{
return static::class . ": $nume, $pret lei";
}
}
class Produs extends Model
{
public static function dinFormular(array $date): string
{
return forward_static_call_array([parent::class, "creeaza"], $date);
}
}
echo Produs::dinFormular(["pret" => 80, "nume" => "Mouse"]);
Rezultat
Produs: Mouse, 80 lei
Greșeli frecvente
- Tabloul are chei text care nu corespund cu numele parametrilor. Primești
Unknown named parameter.
Comenzi înrudite
forward_static_call: Apelează o metodă statică din clasa părinte păstrând clasa curentă pentru static:: (late static binding).call_user_func / call_user_func_array: Apelează o funcție dată printr-o variabilă (nume, closure sau metodă), cu argumentele primite.