Обновить вид с события в Laravel
Мне нужно подождать (прослушать) запрос от клиента через API-маршрут, который отправит мне некоторый текст, когда запрос получен, мне нужно подтвердить его клиенту и отправить текст в блэйд-вид, а не обратно в интерфейс клиента.,
Я не думаю, что я могу сделать все в логике контроллера.
Итак, я начинаю копаться в Event / Listener, и я пишу это:
class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
'App\Events\TextAdded' => [
'App\Listeners\AddText',
],
];
затем
<?php
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class TextAdded
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $testo;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($testo)
{
//
$this->testo=$testo;
}
а также
<?php
namespace App\Listeners;
use App\Events\TextAdded;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class AddText
{
/**
* Create the event listener.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param TextAdded $event
* @return void
*/
public function handle(TextAdded $event)
{
//
return view('screen')->with('dato',$event->testo);
}
и из API, файл маршрута, который я вызываю для этого тестового маршрута:
Route::post('/text', 'ScreenController@refresh');
вот ищем эту функцию на контроллере:
public function refresh(Request $r){
$txt='aaaaaaaaaaaa';
event(new TextAdded($txt));
//tried to send something to view but with no success
return true;
}
Забудьте о том, как создается $ txt, это просто тест.
Как заставить страницу из моего веб-приложения отразить это событие, мне не так ясно! Должен ли я идти по этому пути или я далеко от решения? Я уверен, что не могу вернуться к представлению из функции "дескриптора"... с наилучшими пожеланиями