2016-10-23 3 views
1

종속성 인젝터로 Phalcon 3에서 SwiftMailer를로드하려고하는데 Swift_transporter 서비스에 대한 오류가 발생합니다.Swift_SmtpTransport phalcon

Phalcon \ 디 \ 예외 : 내가 좋아하는 것

내가 종속성 인젝터의 Swift_SmtpTransport 서비스를로드 할 수있는 방법을 알고 서비스 '\의 Swift_SmtpTransport'이 의존성 주입 컨테이너에서 찾을 수 없습니다 , 작곡가. 작곡가가이 문제를 쉽게 해결할 수 있다는 것을 알고 있지만 다른 옵션이 있는지 궁금합니다. 내 service.php 파일에서

나는 다음 라인을 추가 :

$di->set('mailer', function(){ 

$mailer = new Manager([ 
    'driver' => 'sendmail', 
    'sendmail' => '/usr/sbin/sendmail -bs', 
    'viewsDir' => $this->config->application->viewsDir . 'emails/', 
    'from'  => [ 
     'email' => '[email protected]', 
     'name' => 'Company Team' 
    ] 
]); 

return $mailer; 

을});

$this->mailer([ 
     'to'  => '[email protected]', 
     'name' => 'First and Last Name', 
     'subject' => _('Welcome to my website'), 
     'body' => [ 
      'view' => 'welcome', 
      'params' => [ 
       'name' => 'First Name', 
       'link' => $this->url->get('users/activate/[email protected]&activation_key=******') 
      ] 
     ] 
    ]); 

답변

0

phalcon 3.0이 추가 된 새로운 방법이 phalcon 로더가 loadFile라고 할 :

그럼 난 다음 라인 서비스를 호출합니다. 그냥 swift_required.php 경로와 함께 사용

+0

안녕하세요. Juri! 귀하의 회신을 보내 주셔서 감사합니다 – Infobuscador

0

이제 Phalcon 인큐베이터가 어떻게 작동하는지 이해합니다. 누군가 작곡가없이 Incubator를 설치하면 인큐베이터의 일부 라이브러리에 외부 라이브러리가 필요하다는 점을 고려해야합니다. 이러한 이유로 Github 저장소를 복제하여 Incubator를 설치하고 작성자 업데이트를 실행하지 않으면 외부 라이브러리의 모든 종속성을 하나씩로드해야합니다.

+0

아니면 팔콘 로더와 함께 전체 dir 또는 네임 스페이스를 등록하십시오 :) – Juri

+0

그게 바로 맞습니다 :) – Infobuscador

+0

나는 내 구조에 어떤 벤더 폴더도 가지고 있지 않지만 어떻게하면 같은 문제를 해결해야합니까? – Naeem