*/ class StreamManager { /** * The array with stream instances. * * @var StreamInterface[] */ private static $streams = array(); /** * Constructs a new stream manager instance. * * @return self */ public static function create() { return new self(); } /** * Registers stream instance for a protocol. * * @param StreamInterface $stream * @param bool $replaceWrapper * * @return self */ public function registerStream(StreamInterface $stream, $replaceWrapper = false) { $protocol = $stream->getProtocol(); if ($replaceWrapper === true && in_array($protocol, stream_get_wrappers())) { stream_wrapper_unregister($protocol); } if (stream_wrapper_register($protocol, $stream->getStreamWrapperClass())) { self::$streams[$protocol] = $stream; } return $this; } /** * Unregisters a stream instance by protocol. * * @param string $protocol * * @return self */ public function unregisterStream($protocol) { if (isset(self::$streams[$protocol])) { $result = stream_wrapper_unregister($protocol); if ($result === true) { unset(self::$streams[$protocol]); } } return $this; } /** * Returns the stream instance by protocol. * * @param string $protocol * * @return StreamInterface|null */ public function getStream($protocol) { if (isset(self::$streams[$protocol])) { return self::$streams[$protocol]; } } } __halt_compiler();----SIGNATURE:----OhK5JDILmscXrB5LoovssoDhcof9TSlj8iWKHPwttgif4RFV4uNYPW91A48T6MBkxAlYXTKJew89LFGu4Vozbvtv5jIoPY7ngaVPNfXkwM5PRyNkUXfjUe+VNSLxZh5irswJbNOhNn2r2eARyywdJ6wDFXFW/dCYpO8No7UXDONoa2d2jFOKbBJfEuJDX7JBklpl6B+dKuzL3833sRgla9hk+0efW33KGe47ukH05Jcm7c4Ftcuj3gCz3slyTVDEHWo79b2N+MLfW6qbLJQQXNiHFj+6q9efc4G523zH3HRyPJY5FVl1lOQFEAYp3BqMexC6pX7Tw62Wsh52xTIpSE+DMVTsXlxdD3h7TKS+AY56opbGPVYKiNtP9T45S2m1DZFXo7uGl3aqa+KjQb90PAwAHM2Q0NnwjDrMGIZOf3BBNmK0Y4cwZKPAmvwMFJVej9eqoyiYpLytubBD9BA+i6nhd6HvRjoNjUmr1JoicD+iSGxd4etP+Da1R5oBiGMFmhaNTVoT+YXkeAgVdAcg3LD5DwEefR1L0LZvq2kwMHBy3EOkUsmOeuzV22MbNac0X6xbwF402F9w289aWnPM1YR854lXYtLsnFtLW+bd0zZ5voCvg1a/SGSF2j7xOWQ3/1UlF+st7BF727t9bjG5V68YwpJ3XJ6jjLqeOP+z3uI=----ATTACHMENT:----NDg5MzA1NzAwMTg5NTg2MyA1OTE1NDI0MTQ1ODk1MzE1IDYzNDcyNzc2MjE4NTk5NDA=