摘要:組件提供了很多實用的組件包括控制臺組件定時器觸發(fā)器日志處理等等致謝從下一章開始,我們逐步使用的各項功能并開發(fā)一個簡單的并發(fā)版爬蟲系統(tǒng),感謝你看到這里,希望本文可以幫到你,謝謝
前言
我一生的文章都會放在這里,我的博客,我希望每一行代碼,每一段文字都能幫助你。https://github.com/CrazyCodes...
大家好,我是CrazyCodes,我沒有消失,最近在準備考試,所以文章出的比較慢,請見諒
有些童鞋感覺對Swoole不從下手,也不知在什么業(yè)務(wù)上使用它,看它這么火卻學不會也是挺讓人捉急的一件事情。
Swoole:面向生產(chǎn)環(huán)境的 PHP 異步網(wǎng)絡(luò)通信引擎
啥是異步網(wǎng)絡(luò)通信?
異步通信簡單點來說,就是一個人和一群人的關(guān)系,一個人去做十件事,需要一件一件去做,一群人去做10件事,可以分配每個人做每件事。我們用Swoole可以做什么?
聊天室
并發(fā)的處理 (讀大文件)
異步MySQL
異步Redis
等等
當然不去做,只在看,很難理解為何選擇使用Swoole去做這些。從現(xiàn)在開始,我們暫時不關(guān)心上面的這些概念,啥話都不說,就是干
EasySwooleEasySwoole ? 名副其實,作者為了讓開發(fā)者更便捷的使用Swoole 而封裝的開發(fā)框架,地址在下方
EasySwoole https://www.easyswoole.com/
使用EasySwoole你會發(fā)現(xiàn)有很多很難理解的概念及用法。沒關(guān)系,跟著我,慢慢來~
安裝EasySwoole的環(huán)境要求
保證 PHP 版本大于等于 7.1
保證 Swoole 拓展版本大于等于 4.3.0
需要 pcntl 拓展的任意版本
使用 Linux / FreeBSD / MacOS 這三類操作系統(tǒng)
使用 Composer 作為依賴管理工具
如果你感覺以上要求太苛刻,你可以選擇使用Docker快速部署一套開發(fā)環(huán)境或者使用更簡單的 homestead
在使用EasySwoole之前我們要安裝Swoole,Swoole是PHP擴展,我們可以通過
pecl install swoole
快速安裝,或者使用源碼編譯的形式安裝
安裝完擴展后,接下來我們就使用萬能composer來安裝EasySwoole
composer require easyswoole/easyswoole=3.x php vendor/bin/easyswoole install服務(wù)管理
EasySwoole(Swoole)與其他框架不同,他不擅長開發(fā)Web,請將目標定位在后端服務(wù)上。以下內(nèi)容為引用官方文檔
php easyswoole startHello World
以下為官方文檔內(nèi)容 https://www.easyswoole.com/Ma...
在項目根目錄下創(chuàng)建如下的目錄結(jié)構(gòu),這個目錄是編寫業(yè)務(wù)邏輯的應(yīng)用目錄,編輯 Index.php 文件,添加基礎(chǔ)控制器的代碼
project 項目部署目錄 ---------------------------------- ├─App 應(yīng)用目錄 │ └─HttpController 應(yīng)用的控制器目錄 │ └─Index.php 默認控制器文件 ----------------------------------
response()->write("hello world"); } }
然后編輯根目錄下的 composer.json 文件,注冊應(yīng)用的命名空間
{ "autoload": { "psr-4": { "App": "App/" } }, "require": { "easyswoole/easyswoole": "3.x-dev" } }
最后執(zhí)行 composer dumpautoload 命令更新命名空間,框架已經(jīng)可以自動加載 App 目錄下的文件了,此時框架已經(jīng)安裝完畢,可以開始編寫業(yè)務(wù)邏輯
# 更新命名空間映射 composer dumpautoload # 啟動框架 php easyswoole start
啟動框架后,訪問 http://localhost:9501即可看到 Hello World 。
組件EasySwoole提供了很多實用的組件包括
控制臺組件
定時器
觸發(fā)器
日志處理等等...
致謝從下一章開始,我們逐步使用EasySwoole的各項功能并開發(fā)一個簡單的并發(fā)版爬蟲系統(tǒng),感謝你看到這里,希望本文可以幫到你,謝謝
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/30956.html
摘要:易用穩(wěn)定,本次想通過對的學習和個人解析,吸收框架的思想和設(shè)計知識,加強自己對的認知和理解。當然,筆者能力水平有限,后續(xù)的文章如有錯誤,還請指出和諒解。目錄如下后續(xù)添加文章都會記錄在此服務(wù)啟動過程以及主體設(shè)計流程源碼解析 前言 swoole是什么?官網(wǎng)的原話介紹是這樣的: Swoole 使用純 C 語言編寫,提供了 PHP 語言的異步多線程服務(wù)器,異步 TCP/UDP 網(wǎng)絡(luò)客戶端,異步 ...
摘要:以上是服務(wù)啟動過程中的主體設(shè)計,其中包括了各種組件的實例化,如對象池等。 EasySwoole 服務(wù)啟動過程以及主體設(shè)計流程源碼解析 本文主要講解EasySwoole 服務(wù)的啟動過程,會通過源碼片段講解主體的設(shè)計流程 命令啟動 當我們通過php easyswoole start啟動EasySwoole 服務(wù)時,命令真正到達的文件是 easyswoole項目vendoreasyswool...
摘要:然而盡管如此,很多人可能都沒有思考過,如何優(yōu)雅的寫出自己的物聯(lián)網(wǎng)服務(wù)器。 PHP不適合做物聯(lián)網(wǎng)服務(wù)端嗎? 在傳統(tǒng)的思維中,經(jīng)常會有人告訴你,php不適合用來做物聯(lián)網(wǎng)服務(wù)端,讓你換java,node,go等其他語言,是的,沒錯傳統(tǒng)意義上的php,確實很難做物聯(lián)網(wǎng)服務(wù)器,因為它實在太蹩腳了,當然,這也不是意味著徹底就不能做。舉個例子,當你想實現(xiàn)一個TCP服務(wù)器的時候,你可能需要寫出原理大約...
摘要:協(xié)程與信箱得益于,我們可以基于的協(xié)程與快速實現(xiàn)一個信箱模式調(diào)度。樣例代碼比如在一個聊天室中,我們可以定義一個房間模型。 什么是Actor? Actor對于PHPer來說,可能會比較陌生,寫過Java的同學會比較熟悉,Java一直都有線程的概念(雖然PHP有Pthread,但不普及),它是一種非共享內(nèi)存的并發(fā)模型,每個Actor內(nèi)的數(shù)據(jù)獨立存在,Actor之間通過消息傳遞的形式進行交互調(diào)...
摘要:介紹是基于開發(fā)的協(xié)程開發(fā)框架,擁有常駐內(nèi)存協(xié)程異步非阻塞等優(yōu)點。宇潤我在年開發(fā)并發(fā)布了第一個框架,一直維護使用至今,非常穩(wěn)定,并且有文檔。于是我走上了開發(fā)的不歸路 showImg(https://segmentfault.com/img/bVbcxQH?w=340&h=160); 介紹 IMI 是基于 Swoole 開發(fā)的協(xié)程 PHP 開發(fā)框架,擁有常駐內(nèi)存、協(xié)程異步非阻塞IO等優(yōu)點。...
閱讀 835·2021-10-25 09:48
閱讀 613·2021-08-23 09:45
閱讀 2506·2019-08-30 15:53
閱讀 1764·2019-08-30 12:45
閱讀 601·2019-08-29 17:21
閱讀 3418·2019-08-27 10:56
閱讀 2554·2019-08-26 13:48
閱讀 703·2019-08-26 12:24