我想知道在哪裏把Laravel事件監聽器和處理程序。有人告訴我,我可以把它們放在任何地方。這是我到目前爲止所嘗試的。我在哪裏放置事件監聽器和處理程序?
# listeners/log.php
<?php
Event::listen('log.create', '[email protected]');
# handlers/LogHandler.php
<?php
class LogHandler {
public function create(){
$character = new Character;
$character->name = "test";
$character->save();
}
}
# controllers/MainController.php
public function test(){
Event::fire('log.create');
return "fired";
}
# start/global.php
ClassLoader::addDirectories(array(
app_path().'/commands',
app_path().'/controllers',
app_path().'/models',
app_path().'/database/seeds',
app_path().'/libraries',
app_path().'/listeners',
app_path().'/handlers',
));
謝謝,這對我有用! – Strernd 2013-04-11 14:43:01
+1不錯的建議。然而,我想知道是否有另一個有趣的替代方案...也許爲Class監聽器創建一個「app/listeners」文件夾...?並將'app_path()。'/ listeners',''添加到'ClassLoader :: addDirectories(array('at app/start/global.php' ...? – 2013-09-01 17:41:18
我認爲這對於處理程序是有效的,但是因爲聽衆實際上並不是類,我不認爲他們會被加載嗎? – 2013-09-01 18:02:58