详解PHP框架EasySwoole

admin3年前PHP教程66
安装

使用 composer 安装

composer require easyswoole/easyswoole=3.xphp vendor/bin/easyswoole install

启动框架

php easyswoole start

nginx转发

proxy_set_header x-real-ip $remote_addr; 获取真实ip地址

运行

project              项目部署目录

----------------------------------

├─app        应用目录

│  └─httpcontroller      应用的控制器目录

│     └─index.php    默认控制器文件

----------------------------------

index.php

编辑根目录下的composer.json 文件

注册应用的命名空间

意思就是设置自动加载

最后执行composer dumpautoload

命令更新命名空间,可以开始编写业务逻辑

# 更新命名空间映射

composer dumpautoload

# 启动框架

php easyswoole start

目录结构

project                   项目部署目录

├─app                     应用目录(可以有多个)

│  ├─httpcontroller       控制器目录

│  │  └─index.php         默认控制器

│  └─model                模型文件目录

├─log                     日志文件目录

├─temp                    临时文件目录

├─vendor                  第三方类库目录

├─composer.json           composer架构

├─composer.lock           composer锁定

├─easyswooleevent.php     框架全局事件

├─easyswoole              框架管理脚本

├─easyswoole.install      框架安装锁定文件

├─dev.php                 开发配置文件

├─produce.php             生产配置文件

生命周期配置文件说明配置操作类

easyswoole\config 类

toarray 方法获取全部配置,load 方法重载全部配置

如果设置了修改,需要更新配置的意思

添加用户配置项生产与开发配置分离

默认为开发模式,加载 dev.php

生成

php easyswoole start produce

di注入配置

也就是依赖注入

动态配置

每次开始了,是上一次的进程,比如你打开了旧版,现在更新了新版,但是旧版还是开着,没有重启动,也就是一直旧版,现在有个动态配置,表示可以平滑的修改

服务管理脚本

php easyswoole

 install       安装easyswoole

 start         启动easyswoole

 stop          停止easyswoole(守护模式下使用)

 reload        重启easyswoole(守护模式下使用)

 help          查看命令的帮助信息

easyswoole help -start

守护模式启动

php easyswoole start d

线上

php easyswoole start produce

停止

php easyswoole stop

重启服务

php easyswoole reload 只重启task进程

php easyswoole reload all  重启task + worker进程

文件热加载

由于 swoole 常驻内存的特性,修改文件后需要重启worker进程才能将被修改的文件重新载入内存中

解决:process的方式实现文件变动自动进行服务重载

新建文件 app/process/hotreload.php 并添加如下内容,也可以放在其他位置,请对应命名空间

添加好后在全局的 easyswooleevent.php 中,注册该自定义进程

以上就是详解php框架easyswoole的详细内容,更多关于php框架easyswoole的资料请关注其它相关文章!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

Laravel中Kafka的使用详解

 本文并没有kafka的安装教程,本文是针对已经安装kafka及其配置好kafka的php拓展并且使用laravel框架进行开发项目,配置一个可供laravel框架使用的生产及消费者类.以下...

详解PHP Swoole长连接常见问题

目录连接失效问题如何解决如何维持长连接结论连接失效问题例子其中,Redis常见的报错就是:配置项:timeout报错信息:Error while reading line from the serve...

高防服务器单线和双线有哪些区别?国内高防大带宽服务器如何选择合适的?

公司发展从小做大,必然会经历从传统线下业务发展模式,发展到线上网络布署的阶段。建设公司门户网站、形象宣传平台、业务平台,也成为中小型公司需要面临的问题。作为专精的公司IT布署管家,在此为大家普及一些网...

php floor()函数案例详解

floor() 函数向下舍入为最接近的整数。语法floor(x)参数描述x必需。一个数。说明返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。floor...

PHP输出缓冲与header发送问题详解

如果你在header或cookie函数前发送大量字符到浏览器,就会报headers already sent  错误,以下为说明:headers_sent()此函数告诉我们发送header的...

如何用php根据地址获取经纬度

这里用的是百度地图的接口,你需要先申请百度的服务秘钥(ak)。百度地图有这样一个接口:地理编码1.php代码:/** * 根据地址获取经纬度 -- 百度地图 */public fu...