Swoole是一種PHP高級Web開發框架,框架不是為了提升網站的性能,是為了提升網站的開發效率。最少的性能損耗,換取最大的開發效率。利用Swoole框架,開發一個復雜的Web功能,可以在很短的時間內完成。
官方定義:
Swoole:重新定義PHP
PHP的異步、并行、高性能網絡通信引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務器,異步TCP/UDP網絡客戶端,異步MySQL,異步Redis,數據庫連接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查詢。 Swoole內置了Http/WebSocket服務器端/客戶端、Http2.0服務器端。
Swoole可以廣泛應用于互聯網、移動通信、企業軟件、云計算、網絡游戲、物聯網、車聯網、智能家居等領域。 使用PHP+Swoole作為網絡通信框架,可以使企業IT研發團隊的效率大大提升,更加專注于開發創新產品。
swoole 擴展安裝及案例來源:http://wiki.swoole.com/wiki/page/6.html
簡單案例:
<?phpclass Server{private $serv;public function __construct(){$this->serv = new swoole_server("0.0.0.0", 9501);$this->serv->set(array('worker_num' => 8,'daemonize' => false,'max_request' => 10000,'dispatch_mode' => 2,'debug_mode' => 1));$this->serv->on('Start', array($this, 'onStart'));$this->serv->on('Connect', array($this, 'onConnect'));$this->serv->on('Receive', array($this, 'onReceive'));$this->serv->on('Close', array($this, 'onClose'));$this->serv->start();}public function onStart($serv){echo "Start/n";}public function onConnect($serv, $fd, $from_id){$serv->send($fd, "Hello {$fd}!");}public function onReceive(swoole_server $serv, $fd, $from_id, $data){echo "Get Message From Client {$fd}:{$data}/n";}public function onClose($serv, $fd, $from_id){echo "Client {$fd} close connection/n";}}// 啟動服務器$server = new Server(); <?phpclass Client{private $client;public function __construct(){$this->client = new swoole_client(SWOOLE_SOCK_TCP);}public function connect(){if (!$this->client->connect("127.0.0.1", 9501, 1)) {echo "Error: {$fp->errMsg}[{$fp->errCode}]/n";}$message = $this->client->recv();echo "Get Message From Server:{$message}/n";fwrite(STDOUT, "請輸入消息:");$msg = trim(fgets(STDIN));$this->client->send($msg);}}$client = new Client();$client->connect();
分別打開兩個終端輸入:php server.php php client.php 即可看到效果!
Swoole功能介紹
包含以下幾個特色功能:
1、 類似ORM的數據查詢,提供SQL封裝器,讓MySQL的SQL與PHP的Array,會話,Cache無縫結合。
2、App MVC分層結構,有效的程序結構分層,提高程序的可維護性和擴展性,實現低耦合,基于接口開發。
3、集成大量,實用的功能,比如方便的數據庫操作,模板操作,緩存操作,系統配置,表單處理,分頁,數據調用,字典操作,上傳處理,內容編輯,調試等。
4、模板-數據反射系統,可以直接在模板中調用數據,提供很多標簽,可是無需修改程序,只修改模板,即可實現網站各類更新維護工作。
另外的幾個功能
1、Swoole包含了大量類,提供眾多的功能擴展,基本上Web開發能夠用到的功能類,大部分都可以在Swoole框架中找到。
2、Swoole擁有插件系統,Fckeditor、Adodb、pscws中文分詞、中文全文索引系統、最新的Key-Value數據庫思想,TokyoTyrant,可以無限擴展框架的功能。
新聞熱點
疑難解答
圖片精選