Swoole難上手?從EasySwoole開始

clipboard.png

前言

我一輩子的文章都會放在這裏,個人博客,我但願每一行代碼,每一段文字都能幫助你。 https://github.com/CrazyCodes...

你們好,我是CrazyCodes,我沒有消失,最近在準備考試,因此文章出的比較慢,請見諒php

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

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

啥是異步網絡通訊?git

異步通訊

clipboard.png

簡單點來講,就是一我的和一羣人的關係,一我的去作十件事,須要一件一件去作,一羣人去作10件事,能夠分配每一個人作每件事。咱們用Swoole能夠作什麼?github

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

固然不去作,只在看,很難理解爲什麼選擇使用Swoole去作這些。從如今開始,咱們暫時不關心上面的這些概念,啥話都不說,就是幹json

EasySwoole

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

EasySwoole https://www.easyswoole.com/

使用EasySwoole你會發現有不少很難理解的概念及用法。不要緊,跟着我,慢慢來~swoole

安裝

EasySwoole的環境要求網絡

  • 保證 PHP 版本大於等於 7.1
  • 保證 Swoole 拓展版本大於等於 4.3.0
  • 須要 pcntl 拓展的任意版本
  • 使用 Linux / FreeBSD / MacOS 這三類操做系統
  • 使用 Composer 做爲依賴管理工具

若是你感受以上要求太苛刻,你能夠選擇使用Docker快速部署一套開發環境或者使用更簡單的 homestead併發

在使用EasySwoole以前咱們要安裝Swoole,Swoole是PHP擴展,咱們能夠經過composer

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

相關文章
相關標籤/搜索