| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- namespace Laravel\SerializableClosure;
- use Closure;
- 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)
- {
- $this->serializable = new Serializers\Native($closure);
- }
- /**
- * Resolve the closure with the given arguments.
- *
- * @return mixed
- */
- public function __invoke()
- {
- return call_user_func_array($this->serializable, func_get_args());
- }
- /**
- * Gets the closure.
- *
- * @return \Closure
- */
- public function getClosure()
- {
- return $this->serializable->getClosure();
- }
- /**
- * Get the serializable representation of the closure.
- *
- * @return array{serializable: \Laravel\SerializableClosure\Contracts\Serializable}
- */
- public function __serialize()
- {
- return [
- 'serializable' => $this->serializable,
- ];
- }
- /**
- * Restore the closure after serialization.
- *
- * @param array{serializable: \Laravel\SerializableClosure\Contracts\Serializable} $data
- * @return void
- */
- public function __unserialize($data)
- {
- $this->serializable = $data['serializable'];
- }
- }
|