2016-12-19 1 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 : 상황을 처리하기 위해 사용하는 라이브러리 나 소스 코드의 주요 부분의 REPO를 공유하시기 바랍니다.

+0

감사합니다 !! 그게 완벽하게 작동합니다! –

관련 문제