一、什麼是swoole
#swoole是PHP的非同步、平行、高效能網路通訊引擎,使用純C語言編寫,提供了PHP語言的非同步多執行緒伺服器,非同步TCP/UDP網路客戶端,非同步MySQL,非同步Redis,資料庫連線池,AsyncTask,訊息佇列,毫秒定時器,非同步檔案讀寫,非同步DNS查詢。 swoole內建了Http/WebSocket伺服器端/客戶端、Http2.0伺服器端。
swoole是php的一個擴展,主打高效能的網路程式擴展,由於擴展使用c語言編寫,性能上會比php實現的框架快很多。而且因為swoole的內部實作為php提供了比apache php更多的彈性。
swoole不是像Zend Framework、CakePHP、Yii、symfony、ThinkPHP等的框架,也不是像WordPress、Drupal、Discuz、UChome等開源產品看好的專案。 Swoole的目標是向Java框架、Ruby On Rails、Python DjangoPylons等一流框架發起挑戰。
運行環境:Linux Windows Mac FreeBSD Unix
PHP版本支援:PHP5.3
支援的資料庫:MS SQL Server、MySQL、IBM DB2、Oracle、Interbase 、SQLite、PostgreSQL、ODBC
支援的運作方式:Web、Cli命令列腳本、PHP-GTK GUI。
二、官網介紹是:
swoole是PHP的非同步、平行、高效能網路通訊引擎,使用純C語言編寫,提供了PHP語言的非同步多執行緒伺服器,非同步TCP/UDP網路客戶端,非同步MySQL,非同步Redis,資料庫連線池,AsyncTask,訊息佇列,毫秒定時器,非同步檔案讀寫,非同步DNS查詢。 Swoole內建了Http/WebSocket伺服器端/客戶端、Http2.0伺服器端。
友情連結:http://www.swoole.com/
三、swoole運作機制:
在進行系統的學習swoole之前,先來說下swoole的原理和機制,我覺得我知道了會對它有一個大致的了解。
swoole雖然是標準的PHP擴展,實際上與普通的擴展不同。普通的擴充只是提供一個函式庫函數。而swoole擴充在運作後會接管PHP的控制權,進入事件循環。當IO事件發生後,swoole會自動回調指定的PHP函數。
也就是說,swoole就是個披了php外衣的nginx,大量的功能都是用c來實現。一些功能的呼叫其實並沒php什麼事,它只是個純粹的膠水,有什麼功能全用c在實現,然後執行完成再回調給php。
所以,你相當於在用php語法寫底層的c服務,你不需要了解底層的實作邏輯,你會用php就夠了,nice;
#四、swoole提供的功能庫:
在說下swoole提供了哪些功能給我們用,以為我們用到哪些服務時,可以用swoole來幫我們實現。
[X] http服務 ,寫一個簡單的web server。
[X] TCP/UDP服務 ,寫一個訊息接受處理系統。
[X] 非同步,可以非同步的處理請求。
[X] 並發 ,可以並發的處理同一個業務邏輯。
[X] socket,socket通訊處理技術。
[X] 毫秒等級定時器,可以在php中使用定時器了。
[X] 協程,比起執行緒更穩定、好用。
如果你的業務中,有用到以上等特性,你又在用使用php,那麼完全可以用swoole來完成了。
五、swoole應用程式:
Swoole可以廣泛應用於網路、行動通訊、企業軟體、雲端運算、網路遊戲、物聯網(IOT)、車聯網、智慧家庭等領域。使用PHP Swoole作為網路通訊框架,可以讓企業IT研發團隊的效率大大提升,更專注於開發創新產品。
PHP中文網,大量的免費swoole入門教學,歡迎線上學習!
以上是一文了解什麼是swoole的詳細內容。更多資訊請關注PHP中文網其他相關文章!