Viewing file: SerializerInterface.php (1.45 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php namespace SuperClosure;
use SuperClosure\Exception\ClosureUnserializationException;
/** * Interface for a serializer that is used to serialize Closure objects. */ interface SerializerInterface { /** * Takes a Closure object, decorates it with a SerializableClosure object, * then performs the serialization. * * @param \Closure $closure Closure to serialize. * * @return string Serialized closure. */ public function serialize(\Closure $closure);
/** * Takes a serialized closure, performs the unserialization, and then * extracts and returns a the Closure object. * * @param string $serialized Serialized closure. * * @throws ClosureUnserializationException if unserialization fails. * @return \Closure Unserialized closure. */ public function unserialize($serialized);
/** * Retrieves data about a closure including its code, context, and binding. * * The data returned is dependant on the `ClosureAnalyzer` implementation * used and whether the `$forSerialization` parameter is set to true. If * `$forSerialization` is true, then only data relevant to serializing the * closure is returned. * * @param \Closure $closure Closure to analyze. * @param bool $forSerialization Include only serialization data. * * @return \Closure */ public function getData(\Closure $closure, $forSerialization = false); }
|