Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpnamespace Laravel\SerializableClosure;use Closure;use Laravel\SerializableClosure\Exceptions\PhpVersionNotSupportedException;class UnsignedSerializableClosure{/*** The closure's serializable.** @var \Laravel\SerializableClosure\Contracts\Serializable*/protected $serializable;/*** Creates a new serializable closure instance.** @param \Closure $closure* @return void*/public function __construct(Closure $closure){if (\PHP_VERSION_ID < 70400) {throw new PhpVersionNotSupportedException();}$this->serializable = new Serializers\Native($closure);}/*** Resolve the closure with the given arguments.** @return mixed*/public function __invoke(){if (\PHP_VERSION_ID < 70400) {throw new PhpVersionNotSupportedException();}return call_user_func_array($this->serializable, func_get_args());}/*** Gets the closure.** @return \Closure*/public function getClosure(){if (\PHP_VERSION_ID < 70400) {throw new PhpVersionNotSupportedException();}return $this->serializable->getClosure();}/*** Get the serializable representation of the closure.** @return array*/public function __serialize(){return ['serializable' => $this->serializable,];}/*** Restore the closure after serialization.** @param array $data* @return void*/public function __unserialize($data){$this->serializable = $data['serializable'];}}