hyperf-helper 工具助手,自动生成service、api控制器、验证器安装方法
composer require hyperf-plus/helper
#模型方法自动提示
在基类注解上 @mixin \HyperfEloquent 即可实现自定提示,示例如下:/** * @package HPlus\Admin\Model * @mixin \HyperfEloquent #增加此注解,即可实现 User::where()->find()、(new User)->id 等等的自动提示 */abstract class Model extends BaseModel{ use Cacheable;}
#常用方法
Redis() #获取redis实例Logger() #获取日志实例get_client_ip() #获取客户端ipget_container() #获取DI容器verify_ip() #验证IP有效性p() #打印调试日志到控制台uuid(32) #生成不重复的字符串filter_emoji() #filterEmoji表情过滤convert_hump() #数组驼峰key 转下划线keysession() #设置Session管理get_session() #获取session实例session_destroy() #销毁当前Session实例
第一步 引入
第二步使用:
//获得模型$userModel = User::query();//(1)可以再模型设置条件,join 之类的$userModel->where('id',1)->where('status',1);//引入QueryHelper 第一个参数传模型对象,第二个参数传 数组分页查找$query =$this->QueryHelper($userModel,$data);//如果不用(1)方法也可以在引入引入QueryHelper后再对模型进行$query->query->where('id',1);$query->query->join('','','','');//...等等所有模型操作// 切入url参数,接收 username 和 keywords 并使用 like 查询,接收 user_id is_top 使用 eq 查询$query->equal('user_id,is_top');$query->like('username,keywords');//用法1$query->timeBetween('字段');$query->timeBetween(['开始时间字段','结束时间字段' ]);$query->dateBetween('日期字段');$query->dateBetween(['开始日期字段','结束日期字段' ]);//启用自动分页 paginate 第一个参数可选,列表返回字段,第二个参数可以传一个匿名函数 可以再里面修改返回列表集合return$query->paginate();
#工具2 自动生成工具依赖
自动生成api文件,自动把swagger注解,和常用代码给生成出来
例如生成api User控制器(支持多级目录):
php bin/hyperf.php gen:api User 用户控制器 介绍执行后会在 App/Controller里生成User.php 类#多级目录php bin/hyperf.php gen:api Api/v1/User 用户控制器 介绍执行后会在 App/Controller/api/v1/下生成User.php 类
自动生成service文件,把常用代码给生成出来
php bin/hyperf.php gen:service User执行后会在 App\Serivce 里生成UserService.php 类
自动生成验证器文件,把常用规则给生成出来
php bin/hyperf.php gen:validate User执行后会在 App\Validate 里生成UserValidation.php 类并把默认规则填入