Swoole難上手?從EasySwoole開始

  • 2019 年 11 月 7 日
  • 筆記

前言

我一生的文章都會放在這裡,我的博客,我希望每一行代碼,每一段文字都能幫助你。https://github.com/CrazyCodes/Blog

大家好,我是CrazyCodes,我沒有消失,最近在準備考試,所以文章出的比較慢,請見諒

有些童鞋感覺對Swoole不從下手,也不知在什麼業務上使用它,看它這麼火卻學不會也是挺讓人捉急的一件事情。

Swoole:面向生產環境的 PHP 異步網絡通信引擎

啥是異步網絡通信?

異步通信

簡單點來說,就是一個人和一群人的關係,一個人去做十件事,需要一件一件去做,一群人去做10件事,可以分配每個人做每件事。我們用Swoole可以做什麼?

  • 聊天室
  • 並發的處理 (讀大文件)
  • 異步MySQL
  • 異步Redis
  • 等等

當然不去做,只在看,很難理解為何選擇使用Swoole去做這些。從現在開始,我們暫時不關心上面的這些概念,啥話都不說,就是干

EasySwoole

EasySwoole ? 名副其實,作者為了讓開發者更便捷的使用Swoole 而封裝的開發框架,地址在下方

EasySwoole https://www.easyswoole.com/

使用EasySwoole你會發現有很多很難理解的概念及用法。沒關係,跟着我,慢慢來~

安裝

EasySwoole的環境要求 – 保證 PHP 版本大於等於 7.1 – 保證 Swoole 拓展版本大於等於 4.3.0 – 需要 pcntl 拓展的任意版本 – 使用 Linux / FreeBSD / MacOS 這三類操作系統 – 使用 Composer 作為依賴管理工具

如果你感覺以上要求太苛刻,你可以選擇使用Docker快速部署一套開發環境或者使用更簡單的 homestead

在使用EasySwoole之前我們要安裝Swoole,Swoole是PHP擴展,我們可以通過

pecl install swoole

快速安裝,或者使用源碼編譯的形式安裝

安裝完擴展後,接下來我們就使用萬能composer來安裝EasySwoole

composer require easyswoole/easyswoole=3.x  php vendor/bin/easyswoole install

服務管理

EasySwoole(Swoole)與其他框架不同,他不擅長開發Web,請將目標定位在後端服務上。以下內容為引用官方文檔

php easyswoole start 

Hello World

以下為官方文檔內容 https://www.easyswoole.com/Manual/3.x/Cn/_book/Introduction/install.html

在項目根目錄下創建如下的目錄結構,這個目錄是編寫業務邏輯的應用目錄,編輯 Index.php 文件,添加基礎控制器的代碼

project              項目部署目錄  ----------------------------------  ├─App        應用目錄  │  └─HttpController      應用的控制器目錄  │     └─Index.php    默認控制器文件  ----------------------------------
<?php  namespace AppHttpController;      use EasySwooleHttpAbstractInterfaceController;    class Index extends Controller  {        function index()      {          // TODO: Implement index() method.          $this->response()->write('hello world');      }  }

然後編輯根目錄下的 composer.json 文件,註冊應用的命名空間

{      "autoload": {          "psr-4": {              "App\": "App/"          }      },      "require": {          "easyswoole/easyswoole": "3.x-dev"      }  }

最後執行 composer dumpautoload 命令更新命名空間,框架已經可以自動加載 App 目錄下的文件了,此時框架已經安裝完畢,可以開始編寫業務邏輯

# 更新命名空間映射  composer dumpautoload  # 啟動框架  php easyswoole start

啟動框架後,訪問 http://localhost:9501即可看到 Hello World 。

組件

EasySwoole提供了很多實用的組件包括 – 控制台組件 – 定時器 – 觸發器 – 日誌處理等等…

致謝

從下一章開始,我們逐步使用EasySwoole的各項功能並開發一個簡單的並發版爬蟲系統,感謝你看到這裡,希望本文可以幫到你,謝謝