### 安裝
支持composer安裝
```php
composer require xaviertony/xavier-swoole
```
注意:\think\Request 增加如下靜態方法。
由于TP運行在Apache或者NGINX下,是每次請求后都會銷毀,所以這里的單例并不會造成什么問題,但是在Swoole下,由于常駐內存,所以請求單例一旦實例化則不會改變,所以這里就將其刪除,每次請求后重新實例化
```php
public static function deletethis()
{
if (!is_null(self::$instance)) {
self::$instance=null;
}
}
```
修改如下代碼,由于采用命令行模式運行無論什么請求都會被認為是get
```php
/**
* 當前的請求類型
* @access public
* @param bool $method true 獲取原始請求類型
* @return string
*/
public function method($method = false)
{
if (true === $method) {
// 獲取原始請求類型
$this->method = IS_CLI ?(defined('IS_SWOOLE')?((isset($this->server['REQUEST_METHOD'])? $this->server['REQUEST_METHOD'] : isset($_SERVER['REQUEST_METHOD'])?$_SERVER['REQUEST_METHOD']:'GET')):'GET') : (isset($this->server['REQUEST_METHOD']) ? $this->server['REQUEST_METHOD'] : $_SERVER['REQUEST_METHOD']);
} elseif (!$this->method) {
if (isset($_POST[Config::get('var_method')])) {
$this->method = strtoupper($_POST[Config::get('var_method')]);
$this->{$this->method}($_POST);
} elseif (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) {
$this->method = strtoupper($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE']);
} else {
$this->method = IS_CLI ?(defined('IS_SWOOLE')?((isset($this->server['REQUEST_METHOD'])? $this->server['REQUEST_METHOD'] : isset($_SERVER['REQUEST_METHOD'])?$_SERVER['REQUEST_METHOD']:'GET')):'GET') : (isset($this->server['REQUEST_METHOD']) ? $this->server['REQUEST_METHOD'] : $_SERVER['REQUEST_METHOD']);
}
}
return $this->method;
}
```
啟動命令
```sh
php think swoole start
```
守護啟動
```sh
php think swoole start -d
```
停止服務
```sh
php think swoole stop
```