Swoole難上手?從EasySwoole開始

clipboard.png

前言

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

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

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

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

啥是異步網絡通信?

異步通信

clipboard.png

簡單點來說,就是一個人和一羣人的關係,一個人去做十件事,需要一件一件去做,一羣人去做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/Ma...

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

project              項目部署目錄
----------------------------------
├─App        應用目錄
│  └─HttpController      應用的控制器目錄
│     └─Index.php    默認控制器文件
----------------------------------
<?php
namespace App\HttpController;


use EasySwoole\Http\AbstractInterface\Controller;

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的各項功能並開發一個簡單的併發版爬蟲系統,感謝你看到這裏,希望本文可以幫到你,謝謝

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章