我使用Laravel V7
事件(正在工作(
class IssueUpdated
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $issue;
public $oldIssue;
public $user;
public function __construct($issue, $oldIssue, $user)
{
$this->issue = $issue;
$this->oldIssue = $oldIssue;
$this->user = $user;
Log::info('Test event');
}
public function broadcastOn()
{
return new PrivateChannel('channel-name');
}
}
我可以在laravel.log
->它工作于
监听器:
<?php
namespace AppListenersNotification;
use AppEventsIssueIssueUpdated;
use IlluminateContractsQueueShouldQueue;
use IlluminateQueueInteractsWithQueue;
use IlluminateSupportFacadesLog;
class ChangeIssueAssigneeListener
{
public function __construct()
{
Log::info('Test listener');
}
public function handle(IssueUpdated $event)
{
//
}
侦听器未登录laravel.log
。
EventServiceProvider:
<?php
namespace AppProviders;
use AppEventsIssueIssueUpdated;
use AppListenersNotificationChangeIssueAssigneeListener;
use IlluminateAuthEventsRegistered;
use IlluminateAuthListenersSendEmailVerificationNotification;
use IlluminateFoundationSupportProvidersEventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider
{
protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
IssueUpdated::class => [
ChangeIssueAssigneeListener::class
]
];
public function boot()
{
parent::boot();
//
}
}
我运行了以下命令:
php artisan clear-compiled
php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan queue:restart
请在执行以下命令后尝试
php artisan queue:work
那么也许它会工作