*/ 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:----Y3BhX8s6Hq/UmmDJqJnF2+ccQrHezCTRQ++Zqd/hEjDENqRax/JeWdTwJyQ4v9nXo1oDGbNr5jGnnnPgmlygPkR9Fw9HZSLTADu6j9nrP7qvzoy45qHnD+xac8H4tfRXD6IfbG9jI78iBNPPr5U7Vy2Kc0MzAVs6bUZlJnK9f3klyLMi53gJfsPZsZ/6xxIvzhDYdFK+j7o/srb65LTLn0bFKhjpIAVUayb15zZywu2AdaVdW3NtKAkmi8uHcU79sVUFSiDMxnNEAw6qkzgSuf33uWlaAHdTa+WGx8FFbwzkRV0F/GG7A9ytSBWFPjxS9LLIF1WmJl/pDxYtqK0ObMU0ayaPelSNMlQeNjdFteYG1ttSvvDZl0tM6A8Pj67l8Ic6IrloEM3JboDXxXUSDA+0rina5HdkV3BI6Sd4/GgCU9ybavs5tNykIug/q4ApAAcRVoPtlOEeVNpLykWL6ugYi77TmDr/vsKSLSRgzOXkMr45H0iyk4dNrZbv6YIwRSF1Q6NPGX2hFX/+amYYOMR0yrnpuhvfuX78N3Aj5NzamVT2r9Mg4lfTnwwjz2dH60uEbHfLLHC8AAdHIBmYLhE0Fa5wN8AHuMqwFSvDJzzpE8YBPbOTeCKFoGFkgcUsoJ6ARuLHprPDubAIgbeenSBqsc+k+K8MEdvpmLFAk50=----ATTACHMENT:----NjgzMzg0OTc1NjExMzk4NSA0NTcwNDA4MzY1MjU3Mzk0IDU4MDI5Nzg2ODgyODUxMw==