### 新建钩子文件及方法
```
<?php
namespace app\index\behavior;
use app\common\model\LogModel;
class Test
{
public function run($params)
{
// 行为逻辑
return $this->addlog($params);
}
/*
* 添加日志
*/
public function addlog($params)
{
$db = new LogModel();
$db->uid = $params;
$db->status = 1;
return $db->save();
// dump($db->save());
}
}
```
### 调用钩子
```
方式1
// 绑定钩子
$hook::add('app_init',['\app\index\behavior\Test']);
// 监听钩子 并传递参数
$hook::listen('app_init',$user->id);
方式2
// 执行钩子 传递参数
Hook::exec('app\\index\\behavior\\Test', $user->id);
```
### 测试 控制器方法中使用
```
public function index(Request $request)
{
$data = $request->param();
$user = new UserModel();
$user->name = mt_rand(100, 999);
$user->password = mt_rand(10000, 99999);
$user->email = mt_rand(10000, 99999);
$user->phone = mt_rand(1000000000, 19999999999);
$user->age = mt_rand(20, 100);
$user->status = mt_rand(0, 1);
$user->save($data);
$hook = new Hook();
$hook::add('app_init',['\app\index\behavior\Test']);
$hook::listen('app_init',$user->id);
// $result = Hook::exec('app\\index\\behavior\\Test', $user->id);
return 11111111111;
}
```
### 创建sql
```
CREATE TABLE `log` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`create_time` int(11) NOT NULL,
`update_time` int(11) NOT NULL,
`status` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL,
`password` varchar(32) NOT NULL,
`email` varchar(32) NOT NULL,
`phone` varchar(32) NOT NULL,
`age` tinyint(3) NOT NULL,
`create_time` int(11) NOT NULL,
`update_time` int(11) NOT NULL,
`status` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
```
### 浏览器访问该控制器
- php ping 地址
- python调用php脚本和sh调用php脚本
- php随机字符串
- redis操作
- 公共页面文件
- 登录
- 文章
- 文章管理
- 文章分类
- 图片
- 图片分类
- 图片管理
- 配置文件
- ueditor配置远程上传
- django
- 安装
- jinja2模板标签
- 虚拟机
- centos宝塔面板安装
- mysql主从搭建
- 虚拟机安装centos7
- 2
- 主从复制
- uni-app
- 更新
- 直播简单代码
- 搞笑的注释代码
- jwt
- centos以太坊环境搭建
- thinkphp5.1下的redis使用
- redis的安装
- tp5.1中使用
- tp5.1下载酷狗音乐
- 跨域
- tp5.1导出数据库到excel
- 钩子和行为
- 支付宝
- 申请支付宝app接入
- 视频播放
- 模块安装
- 推流配置
- pc端网页代码
- srs
- 后台布局
- 基础布局文件
- 左边
- 头部
- css特效代码
- 图片旋转
- 图片放大
- 顶部
- 列表页
- 更新数据表单页
- 模型获取器
- 上传图片
- mysql
- 一些常用
- 远程授权
- 数据库常用命令
- 忘记密码
- webpack
- 一些乱七八糟的东西
- linux后台运行脚本过大处理办法
- sublime插件
- linux svn安装
- 工具
- 查看进程
- 获取微信公众号文章
- 爬取微信公众号文章
- 清空nohup
- 服务器上跨域配置
- sql语句生成orm模型写法的工具
- centos换阿里源
- linux一些日志操作
- zsh