#laravel #websocket #redis #socket.io #laravel-echo
#laravel #websocket #redis #socket.io #laravel-echo
Вопрос:
Я использую Redis для трансляции сообщений на частный канал, но получаю следующую ошибку всякий раз, когда инициируется событие
Class 'AppEventsPrivateChannel' not found
Я убедился, что импортировал
use IlluminateBroadcastingPrivateChannel;
Но по-прежнему ничего. Общедоступные каналы успешно работали до этого. Однако почему бы ему не найти PrivateChannel? Это отчасти поставило меня в тупик.
Мой метод broadcastOn в моем событии
public function broadcastOn()
{
return new PrivateChannel('invitation.' . $this->message->to);
}
Полное событие
<?php
namespace AppEvents;
use IlluminateBroadcastingChannel;
use IlluminateBroadcastingInteractsWithSockets;
use IlluminateBroadcastingPrivateChannel;
use IlluminateContractsBroadcastingShouldBroadcast;
use IlluminateFoundationEventsDispatchable;
use IlluminateQueueSerializesModels;
use IlluminateBroadcastingPresenceChannel;
class ProfileInvited implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public $message;
public function __construct($message)
{
$this->message = $message;
$this->dontBroadcastToCurrentUser();
}
/**
* Get the channels the event should broadcast on.
*
* @return IlluminateBroadcastingChannel|array
*/
public function broadcastOn()
{
return new PrivateChannel('invitation.' . $this->message->to);
}
}
Комментарии:
1. попробуйте composer dumpautoload в консоли
2. Все та же ошибка :/
3. Убедитесь, что пространство имен указано правильно вверху. Если нет, поделитесь с нами своим полным кодом файла и полным путем к каталогу
4. Здравствуйте, я дважды проверил пространство имен, и оно кажется правильным. Я обновил вопрос полным событием. Путь к событию app/Events/ProfileInvited.php
5. Попробуйте
php artisan optimize
, может быть