我在Laravel中创建了一个事件和侦听器,但是该侦听器不会触发。它确实在我同事的机器上开火。这使我认为实际的代码有效并且配置正确。
听众:
<?php
namespace App\Listeners\Consensus;
use App\Events\Consensus\ManualGroupChannelNotificationEvent;
use Illuminate\Support\Facades\Log;
/**
* Class ManualGroupChannelNotificationListener
* @package App\Listeners\Consensus
*/
class ManualGroupChannelNotificationListener
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param ManualGroupChannelNotificationEvent $event
* @return void
*/
public function handle(ManualGroupChannelNotificationEvent $event)
{
Log::debug('Listener');
}
}
Run Code Online (Sandbox Code Playgroud)
事件:
<?php
namespace App\Events\Consensus;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Support\Facades\Log;
/**
* Class ManualGroupChannelNotificationEvent
* @package App\Events\Consensus
*/
class ManualGroupChannelNotificationEvent
{
use Dispatchable;
/*
* ExternalComment constructor.
*
* @param Comment $comment
* @param User $currentUser
*/
public function __construct()
{
Log::debug('Event');
}
}
Run Code Online (Sandbox Code Playgroud)
EventServiceProvider:
protected $listen = [
'App\Events\Consensus\ManualGroupChannelNotificationEvent' => [
'App\Listeners\Consensus\ManualGroupChannelNotificationListener',
],
];
Run Code Online (Sandbox Code Playgroud)
触发事件:
event(new ManualGroupChannelNotificationEvent());
Run Code Online (Sandbox Code Playgroud)
我运行了所有命令以清除缓存等,但是仍然无法正常工作。
php artisan clear-compiled
php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan queue:restart
Run Code Online (Sandbox Code Playgroud)
如果此代码可在另一台机器上运行,我还可以做些什么来使其在我的机器上运行?
其他资讯: