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() #获取客户端ip
get_container() #获取DI容器
verify_ip() #验证IP有效性
p() #打印调试日志到控制台
uuid(32) #生成不重复的字符串
filter_emoji() #filterEmoji表情过滤
convert_hump() #数组驼峰key 转下划线key
session() #设置Session管理
get_session() #获取session实例
session_destroy() #销毁当前Session实例
第一步 引入
use GetQueryHelper;
第二步使用:
//获得模型
$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 类并把默认规则填入