forward_static_call_array în PHP

Ca forward_static_call, dar argumentele metodei sunt date într-un tablou.

Sintaxă
forward_static_call_array(callable $callback, array $args): mixed

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