⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 processor.php

📁 ProjectPier 源码 很好的项目管理程序
💻 PHP
字号:
<?phpinterface Swift_IStream{	/**	 * Accept a command in the form of a string	 * The observer will write to our response buffer itself.	 * @param string command	 */	public function command(&$command);}class Swift_Stream_Processor{	/**	 * Singleton Instance	 * @var object FakeStream_CommandProcessor	 */	static private $instance = null;	/**	 * The current command being written	 * @var string command	 */	public $command;	/**	 * The unread response, get regularly truncated from the pointer pos	 * @var string resonse buffer	 */	public $response = "";	/**	 * Observer collection	 * The actual logic is handled by an observer	 * @var array observer objects	 */	private $observers = array();	/**	 * Boolean value is the handle is active	 * @var bool stream open	 */	public $isOpen = false;	/**	 * Streams with no EOF hang indefinitely if you try to read too far	 * We don't want that to happen in testing since it will stop the tests from completing	 * So intead we set a value to true if it *would be* hanging, and this we can test for it	 */	public $hanging = false;		private function __construct() {}	/**	 * Load an observer in	 * @param object observer	 */	public function addObserver(Swift_IStream $observer)	{		$this->observers[] = $observer;	}	/**	 * Singleton factory	 */	static public function getInstance()	{		if (self::$instance === null) self::$instance = new Swift_Stream_Processor();		return self::$instance;	}	/**	 * Provide a command and store it on the buffer	 * @param string command	 */	public function setCommand($command)	{		$this->command .= $command;		foreach ($this->observers as $i => $o) $o->command($this->command);	}	/**	 * Add a response to the response buffer	 * @param string response	 */	public function setResponse($response)	{		$this->response .= $response."\r\n";	}	/**	 * Read the response from the response buffer	 * Then advance the pointer	 * @return string response	 */	public function getResponse($size)	{		$ret = substr($this->response, 0, $size);				$this->response = substr($this->response, $size);				//Fake SMTP's behaviour of hanging past EOF		if (!strlen($ret)) $this->hanging = true;		else $this->hanging = false;				return $ret;	}	/**	 * For testing purposes we can see if the stream would be hanging in the real world	 * @return bool hanging	 */	public function isHanging()	{		return $this->hanging;	}	/**	 * Kill the singleton	 */	public function destroy()	{		self::$instance = null;		$this->isOpen = false;	}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -