Boa tarde,
Meu código está com erro ao declarar as variáveis na classe de eventos SeriesCreated. Ao colocar a variável como public readonly, as mesmas não são reconhecidas, ficam apresentando erro e ao tentar executar o sistema, dão o seguinte erro:
ParseError
syntax error, unexpected identifier "string", expecting variable
Até copiei o código utilizado na aula, pra garantir que não havia erro na digitação, mas não consegui identificar o problema. Segue o código
Event/SeriesCreated
class SeriesCreated
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(
public readonly string $seriesName,
public readonly int $seriesId,
public readonly int $seriesSeasonsQty,
public readonly int $seriesEpisodesPerSeason,
){}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('channel-name');
}
}
Listener/EmailUsersAboutSeriesCreated
public function handle(SeriesCreatedEvent $event)
{
$userList = User::all();
foreach ($userList as $index => $user) {
$email = new SeriesCreated(
$event->seriesName,
$event->seriesId,
$event->seriesSeasonsQty,
$event->seriesEpisodesPerSeason,
);
$when = now()->addSeconds($index * 5);
Mail::to($user)->later($when, $email);
}
}