2016-04-28 14 views
8

Ho metodo di servizio con argomenti variadic:Come utilizzare gli argomenti della funzione variadic di PHP 5.6 con Symfony 2.8?

public function callSP($namespace, $function, ...$params) {} 

che viene compilato in un contenitore come:

public function callSP($namespace, $function, $params = null) 

quindi provoca:

standard rigorosi avviso dicendo che callSP() dovrebbe essere compatibile con XXX \ XXX \ Service :: callSP ($ namespace, $ function, ... $ params)

Impossibile trovare alcuna domanda al riguardo.

+2

Correggetemi se sbaglio, ma symfony non supporta argomenti variadic. Per ovviare a questo, suggerirei di usare * func_get_args() *. – LMS94

+1

Gli argomenti variadici non riguardano Symfony, è puro PHP. Stai estendendo il servizio da qualche parte? Come chiami questo metodo o servizio? Dammi un po 'di codice in modo da poterti aiutare. –

+1

Ho appena creato un semplice servizio: funzione pubblica testMethod ($ firstArg, ... $ aggiuntivo) \t { \t \t var_dump ($ firstArg); \t \t var_dump ($ additional); \t} Quindi nel controller ho $ testService = $ this-> get ('test'); $ testService-> testMethod ('1', '2', '3'); Ed è normalmente il dumping: https://www.dropbox.com/s/frghtb7g9cp95fo/Zrzut%20ekranu%202016-07-25%2008.23.45.png?dl=0 –

risposta

3

suppongo, che problema occures per qualche tipo di servizio pigro (ascoltatore, o esplicita lazy: true)

servizi pigri funzionano con ocramius/proxy-manager biblioteca.

Questa libreria ha introdotto il supporto per i parametri variadici dalla versione 2.0, che richiede almeno PHP 7.0.

Quindi penso che non ci sia niente a che fare con 5.6 qui.

vicini:

Problemi correlati