Download the PHP package qiao520/swoole-logic without Composer
On this page you can find all versions of the php package qiao520/swoole-logic. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package swoole-logic
Swoole框架业务封装组件 | Logic component for Swoole
Language
- 中文
- English
介绍
将业务代码抽离封装到一个目录下作为Logic层(Form和Validate)
封装了高效率的表单数据验证规则。
有如下好处:
- 热加载,修改Logic层代码后不用重启服务能立即生效
- 减少控制器代码量,结构清晰易维护
所谓热加载实现原理
我们平时开发调试时大部分都是在调试业务逻辑代码,所以我将业务逻辑封装在一个目录下(独立一个目录,目录名自定义)。
这个Logic层的PHP文件不会在框架服务(swoft、imi、easyswoole、hyperf等)启动时加载,会在Work进程启动后加载的。
写一个接口(调用swoole的$server->reload())来重载Work进程,而不是重启服务,每次改完业务代码,请求下这个接口让代码重载生效(可以在IDE上新增run配置,可以快速请求该接口来重载)。
Form表单类API
-
通过请求数据实例化表单:
-
通过请求数据实例化表单,并默认对所有字段设置为必填:
-
关闭所有字段去空格(默认是开启)
-
设置表单所有字段数据
-
验证表单数据是否合法
- 获取验证错误提示信息
Validate验证规则
- integer 整型
- string 字符串
- number 数字
- url 链接地址
- email 邮箱
- required 必填项
- boolean 布尔(0或1)
- in 集合
- regex 正则
- array 数组(对子项进行类型校验)
- 自定义校验器 可在form子类进行自定义
结合现有框架使用该组件示例
-
Hyperf框架结合swoole-logic组件的演示:https://github.com/qiao520/hyperf-skeleton
- IMI框架结合swoole-logic组件的演示:https://github.com/qiao520/imi-logic
Form表单验证使用示例
本人对Yii比较喜欢,也对它有一定的了解,这个组件主要是参考了Yii的表单验证用法。 如果你有Yii的开发经验,用起来会很顺手。
-
Form类示例代码(/demo/DemoForm.php)
-
示例代码demo.php
- 执行结果
接入该组件步骤
-
首先,我在项目根目录下新建一个logic目录作为业务逻辑层(Logic),这个目录不受框架启动时加载
- 开发一个接口,用于业务代码修改后,调用swoole的$server->reload()重载Work进程,让修改代码也跟着一起重新加载
环境要求
PHP 7.0 +
想法初衷
看过几个Swoole框架(swoft、imi、easyswoole、hyperf,排名不分先后)
都有一个相同的问题:热加载(代码修改后需要重新启动服务),虽然有些框架专门加了缓存优化了启动速度,不过还是慢。
因为swoole是命令行的运行模式,PHP代码加载后就不会重复加载。
一个健全的系统少不了请求参数数据验证、易维护性,这个组件就是为了帮您轻松做这些事情。
安装
composer require qiao520/swoole-logic
联系我
QQ:380552499
喜欢的朋友点个赞,感谢支持!