2014-12-01 2 views
1

내 응용 프로그램에서 사용자가 암호를 변경할 수 있습니다.메모리에서 전자 메일을 보내지 못하게 취소하십시오.

현재 암호 필드가 변경되었는지 확인하는 preUpdate 이벤트에 대한 청취자가 있습니다. 그렇다면 암호가 변경되었다는 것을 알리는 전자 메일을 사용자에게 보냅니다. (컨트롤러에 커밋 할 때, 예를 들어) 오류가 발생하는 경우

public function preUpdate(PreUpdateEventArgs $args) 
    { 
     $entity = $args->getEntity(); 

     if ($entity instanceof User) { 

      if ($args->hasChangedField('password')) { 
       // Send the email about the password been changed successfully 
       $this->sendPasswordChangedSuccessfully($entity); 
      } 
     } 
} 

그러나 문제는, 이메일은 어쨌든 경우에도 비밀번호 didnt 한 변화를 전송한다.

메모리에있는 이메일이 전송되지 않도록 할 수있는 방법이 있습니까? 컨트롤러에서 이메일을 보낼 수는 있지만 이벤트를 사용하고 싶습니다.

답변

1

Doctrine을 사용하는 경우 Events::postUpdate에 연결할 수 있습니다. 다음과 같은 것 :

이메일을 보내면 아마도 $ sendNotification도 false로 설정해야 할 것입니다.