hyperf-plus / helper
A helper component for hyperf.
Installs: 16 270
Dependents: 4
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 5
Open Issues: 0
README
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实例
工具1 QueryHelper
第一步 引入
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 自动生成工具依赖
gen:api
自动生成api文件,自动把swagger注解,和常用代码给生成出来
参数1:类名
参数2:当前模块名字(swagger上展示用)
参数3:当前模块介绍(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 类
gen:service
自动生成service文件,把常用代码给生成出来
php bin/hyperf.php gen:service User
执行后会在 App\Serivce 里生成UserService.php 类
gen:validate
自动生成验证器文件,把常用规则给生成出来
php bin/hyperf.php gen:validate User
执行后会在 App\Validate 里生成UserValidation.php 类并把默认规则填入