2016-12-19 20 views
1

私はこのライブラリhttps://github.com/smsapi/smsapi-php-clientを使ってサイトからSMSを送信します。しかし、サービスで基本クラスを処理しようとすると問題が発生しました。だから私の質問は、引数を持つ静的メソッドを呼び出す方法はありますか?私は工場でこれをやろうとしますが、これは私のためには機能しません。これは私のコードです:静的メソッドを呼び出すsymfony DI

smsapi.client: 
    class: SMSApi\Client 
    factory: ['SMSApi\Client', createFromToken] 
    properties: 
     attributes: '%smsapi_token%' 

しかし、私は下のエラーを得た:ドキュメントで説明したように

Warning: Missing argument 1 for SMSApi\Client::createFromToken(), called in ../cache/dev/appDevDebugProjectContainer.php on line 5073 and defined 
+1

"私にとってはうまくいかない"というのは、問題の意味のある説明ではありません。実際のエラーメッセージや症状を提示してください。つまり、サービス設定には 'properties'属性はありません。私はあなたが '引数'を指定することを意味すると思います。サービス定義の(YAML)構文のDIドキュメントを参照してください。 – Gerry

答えて

4

Passing Arguments to the Factory Method

あなたは、サービスコンテナ内argumentsオプションを使用することができます。例として

smsapi.client: 
    class: SMSApi\Client 
    factory: ['SMSApi\Client', createFromToken] 
    arguments: 
     attributes: '%smsapi_token%' 

・ホープ、このヘルプ

PS:状況に対処するために使用しているライブラリやソースコードの主要部分のレポを共有してください。

+0

ありがとうございます!それは完全に仕事です! –

関連する問題