layfi-earn/vendor/illuminate/events/InvokeQueuedClosure.php

37 lines
876 B
PHP
Raw Normal View History

2025-01-27 20:49:47 +08:00
<?php
namespace Illuminate\Events;
use Illuminate\Support\Collection;
class InvokeQueuedClosure
{
/**
* Handle the event.
*
* @param \Laravel\SerializableClosure\SerializableClosure $closure
* @param array $arguments
* @return void
*/
public function handle($closure, array $arguments)
{
call_user_func($closure->getClosure(), ...$arguments);
}
/**
* Handle a job failure.
*
* @param \Laravel\SerializableClosure\SerializableClosure $closure
* @param array $arguments
* @param array $catchCallbacks
* @param \Throwable $exception
* @return void
*/
public function failed($closure, array $arguments, array $catchCallbacks, $exception)
{
$arguments[] = $exception;
(new Collection($catchCallbacks))->each->__invoke(...$arguments);
}
}