天天看點

easyswoole和mixphp_2018,請問基于swoole的架構哪個更合适?

都會thinkphp3.2還是都會thinkphp5啊?如果是5的話那麼可以試試Swoole加速的Laravel項目LaravelS(GitHub),畢竟tp5'借鑒'了laravel的很多概念和用法,應該學習成本蠻低的。純api的話可以用lumen,LaravelS也是支援Lumen的。并且LaravelS已經基于Swoole實作了Websocket和異步任務。

Swoft的注釋路由AOP實體Bean等都明顯源自于Java,個人感覺Swoft架構很全面,而且元件化的設計讓他系統結構清晰而且很好選擇使用所需的子產品。但是太不PHP了,開發個人感覺是不靈活的,和Laravel架構的開發快感是很相背的。比如實體的定義需要将Column對應成員明确寫明,這太hibernate了。這讓我想起了Nutz,Nutz已經算是一個Java中較為靈活的架構了,比起Laravel感覺起來還是不太‘爽’。

EasySwoole是我個人比較喜歡的,它不像Laravel或者Swoft那樣重,但是足夠靈活好用。在資料庫方面支援來自Laravel的Eloquent、來自ThinkPHP5的think-orm等可選,模闆引擎也支援來自Laravel的blade、來自ThinkPHP5的think-template和老牌的smarty。

SwooleDistributed是大佬的項目,在建構分布式應用有先天優勢。但是原諒我,我不覺得對我這種寫HTTP或者說API應用較多的來說很好用,這方面的元件不夠用,要自己寫蠻多的,可能主要不是向這個方向設計的吧。

按尼的情況,我的建議是Swoole+Lumen,衆多這方面加速項目中,我又推薦LaravelS(不僅是因為自己是 contributor 之一啦,主要是用起來真的舒服~~~)。