### 开发注意事项
#### 1、dump()函数打印输出浏览器
在http服务开发时,为了方便开发,可以使用dump()函数将内容输出值浏览器中,因为swoole时基于cli程序的,如果使用var_dump()打印输出的话,只会在终端屏幕输出,这对开发不方便,**当然这个dump()输出也只是针对http服务,对于websocket,rpc,udp等服务的话,还时是需要用var_dump()打印输出**
#### 2、全局变量
在php中我们可能会用到的3类全局变量:
* 使用 global 关键词声明的变量
* 使用 static 关键词声明的类静态变量、函数静态变量
* PHP的超全局变量,包括 $_GET、$_POST、$_COOKIE、$_REQUEST 等,由于支持协程,请不要在代码中使用这些全局变量。
在swoole_server中,这些全局变量在请求结束后,它是不会自动销毁的,下一次请求到来时,依然存在,一方面可能会造成存在判断错误,另一方会造成内存溢出。那么一般需要开发者在每次处理请求后自行处理这些变量的销毁。
但是在类文件中使用的static变量,则需要开发者自行处理,所以建议尽量不要使用static。
3、exit|die函数禁止使用
在swoolefy中禁止使用原生的exit()或者die()函数,这样会造成worker|task进程的退出。swoolefy封装了一个_die()函数来替代exit|die函数,**此函数只能在http服务中使用**
- 欢迎使用swoolefy
- 环境说明
- 开发部署
- 安装
- 创建应用
- 启动|停止服务
- nginx代理
- 创建Controller
- 应用结构
- App应用对象
- Event请求处理
- 超全局管理
- 热更新
- inotify实现worker进程热重启
- http服务
- 应用层配置
- 协议层配置
- 路由规则
- 控制器
- 数据模型
- websocket服务
- 应用层配置
- 协议层配置
- 数据封装格式
- 控制器
- 数据模型
- 二进制数据处理
- rpc服务
- 应用层配置
- 协议程配置
- 数据包协议格式
- 服务控制器
- 服务数据模型
- udp服务
- 应用层配置
- 协议层配置
- 数据包封装格式
- 控制器
- 存在问题
- 常用组件
- log
- view
- session
- cache(redis)
- db(mysql)
- mongodb
- 其他服务管理
- 自定义进程管理
- 异步任务管理
- 内存表管理
- 定时器管理
- 异常捕捉处理
- 进程池管理
- systerm采集进程服务