2016-04-28 12 views
8

私は可変長引数を持つサービスメソッドを持っています。Symfony 2.8でPHP 5.6のバリデーション関数の引数を使用するには?

のような容器の中にコンパイルされ
public function callSP($namespace, $function, ...$params) {} 

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

ので、それは発生します

厳しい基準はcallSP()がすべきことを言って気づきますXXX \ XXX \ Service :: callSP($ namespace、$ function、... $ params)と互換性があります

それについての質問もありません。私が思う

+2

私が間違っているが、symfonyは可変長引数をサポートしていないなら、私を修正してください。これを回避するには、* func_get_args()*を使うことをお勧めします。 – LMS94

+1

variadicの議論はSymfonyについてではなく、純粋なPHPです。あなたはどこかでサービスを拡張していますか?この方法やサービスをどう呼びますか?私が助けることができるように、もっとコードをくれてください。 –

+1

は、私は単純なサービスだけで作成しました: パブリック関数のtestMethod($ firstArg、... $追加) \t { \t \tのvar_dump($ firstArgを)。 \t \t var_dump($ additional); \t} コントローラで私は $ testService = $ this-> get( 'test'); $ testService-> testMethod( '1'、 '2'、 '3'); そして、それは通常投棄です: https://www.dropbox.com/s/frghtb7g9cp95fo/Zrzut%20ekranu%202016-07-25%2008.23.45.png?dl=0 –

答えて

3

は、その問題が

レイジーサービスがocramius/proxy-managerライブラリで動作する怠惰サービス(リスナー、または明示的lazy: true)のいくつかの種類のためにoccures。

このライブラリでは、少なくともPHP 7.0が必要なバージョン2.0以降の可変パラメータのサポートが導入されました。

私はここで5.6とは関係がないと思います。

リンク:

関連する問題