0
我正在通過重構和使用事件清理我的長控制器方法。活動::訂閱位置Laravel 4
不幸的是,我不確定我在哪裏或者如何註冊一個事件訂閱者來讓我的事件觸發。
我發現了兩個很有幫助的教程vegbit和Culttt但我仍然感到困惑。
我已成立了一個專門的EmailEventHandler類
namespace Vault\Events;
use Vault\Repository\IndividualEmailRepositoryInterface as IndividualEmailRepositoryInterface;
protected $individualEmail;
public function __construct(IndividualEmailRepositoryInterface $individualEmail)
{
$this->individualEmail = $individualEmail;
}
Event::subscribe('EmailEventHandler');
class EmailEventHandler {
public function subscribe($events)
{
$events->listen('email.saveIndividual', '[email protected]');
}
public function saveIndividual($events)
{
$save = $this->individualEmail->store($events);
}
}
做完這些後,我想我能夠與事件::消防訪問事件類。這裏是我的控制器功能:
use Vault\Services\Mailers\UserMailer;
class ContractorController extends BaseController {
protected $mailer
public function __construct(UserMailer $mailer)
{
$this->mailer = $mailer
}
public function postIndividualEmail(){
$file = Input::file('file');
$subject = Input::get('subject');
$message = Input::get('message');
$memberString = Input::get('contractorName');
//use mail service to send email
$upload = $this->mail->sendIndividualEmail($memberStringer, $subject, $message, $file);
if($upload['emailCount'] >= 1){
//if mail has been sent, fire event
Event::fire('email.saveIndividual', $upload);
}
...the rest of code
return Response::json($this->arrResponse);
}
}
任何人都看到我失蹤了嗎? TIA
爲什麼在文件中間的'類EmailEventHandler'定義是什麼?它應該在'use'語句下面。 – Bogdan