初识EasySwoole框架
EasySwoole是啥?EasySwoole 是一款基于Swoole Server 开发的常驻内存型的分布式PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。 -·- 全文结构 -·-** Swoole框架的选择1、Swoole框架的选择*在开篇《Cygwin:Windows系统下的Linux开发环境》中讲到了Swoole是一个PHP的协程高性能网络通信引擎,使用C/C++语言编写,提供了多种通信协议的网络服务器和客户端模块。 它可以方便快速的实现 TCP/UDP服务、高性能Web及WebSocket服务、物联网、实时通讯、游戏、微服务等,使PHP不再局限于传统的Web领域。 Swoole 是按照PHP的标准扩展构建的。使用phpize来生成编译检测脚本,./configure 来做编译配置检测,make进行编译,make install进行安装。 对于初学者来说,一上来就直接学习PHP扩展(swoole),估计会有点懵。所以在这里选择一个基于Swoole开发的框架来进行学习。 基于Swoole的开源框架有很多,如Swoft、EasySwoole、Hyperf,另外ThinkPHP、LaravelS也都对Swoole进行了支持。 在具体的框架选择上因人(项目)而异,Swoft框架很全面,其注释路由AOP(面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术)实体Bean等都明显源自于Java,写代码时有明显的Java风格,对于Java转PHP的开发者来说可能比较友好。 Swoft官方地址:https://www.swoft.org/ Hyperf,是Swoft开发组中的几位的成员出来开发的一个框架,也是拥有了Swoft优秀的基因基础上,但不再强制注释,集成大量企业级开发的组件,完善丰富的文档,完善的项目测试用例。 Hyperf官方地址:https://www.hyperf.io/ EasySwoole是我个人比较喜欢的,它不像Laravel或者Swoft那样重,但是足够灵活好用。在数据库方面支持来自Laravel的Eloquent、来自ThinkPHP5的think-orm等可选,模板引擎也支持来自Laravel的blade、来自ThinkPHP5的think-template和老牌的smarty。 EasySwoole的开发过程基本上和ThinkPHP框架使用的方式差不多,如果你有ThinkPHP开发基础,且开发的项目不是很复杂,那么EasySwoole是一个不错的选择! 2、EasySwoole框架简介*EasySwoole 是一款基于Swoole开发的常驻内存型的分布式PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。 官方地址:https://www.easyswoole.com/。 Easyswoole的前身EasyPHP-Swoole,后更名为Easyswoole,目前更新到3.x版本。腾讯公司的IEG部门、WEGAME部门、网宿科技(国内CDN厂家)、360金融、360小游戏(Actor)、 9377小游戏、厦门美图网、蝉大师等公司都在使用。 EasySwoole 高度封装了Swoole而依旧维持Swoole原有特性,支持同时混合监听HTTP、自定义TCP、UDP协议,支持多线程,EventLoop,事件驱动,异步,Worker进程组,Task异步任务,毫秒定时器,SSL/TLS隧道加密 EventLoop API,让用户可以直接操作底层的事件循环,将socket,stream,管道等Linux文件加入到事件循环中。 同时支持分布式微服务及RPC,另外还提供协程微信公众号与小程序SDK协程协程版微信、支付宝支付SDK在内的各种开箱即用的常用组件。让开发者以最低的学习成本和精力编写出多进程,可异步,高可用的应用服务。 在编写代码规范上EasySwoole采用驼峰法,项目中类名称与类文件(文件夹)命名,均为大驼峰,如:AppClass,变量与类方法为小驼峰,如:appValue。 EasySwoole的基础运行环境:PHP 版本大于等于7.1;Swoole 拓展版本大于等于 4.4.15;pcntl 拓展的任意版本;使用 Composer 作为依赖管理工具;使用 Linux / FreeBSD / MacOS 这三类操作系统(Windows系统安装Cygwin也可以模拟出Linux环境,参见《Cygwin:Windows系统下的Linux开发环境》)。 接下来,进入基础运行环境的搭建。 3、EasySwoole基础环境的搭建*3.1、检查PHP版本打开shell命令窗口,输入php -v,查看PHP版本,确保版本大于等于7.1。 3.2、安装swoole1、首先进入swoole的github下载地址,如果没有特殊需求,请选择最新版本开始下载https://github.com/swoole/swo... 2、选择gz压缩包下载,下载后复制到cygwin安装目录下的home目录下 3、点击cygwin快捷键进入虚拟终端并解压home目录下的刚下载的swoole安装包到/usr/local/swoole下(如果目录不存在,可以在/usr/local/目录下手动创建swoole),命令行: tar xzvf /home/swoole-src-4.5.2.tar.gz -C /usr/local/swoole/ ...