# 新建插件
默认插件目录 **/Plugin**.
我们在该目录新建一个文件夹 **test**.
在 **test** 目录下新建文件 **a.hook**.
在**a.hook**文件中写入内容
~~~
echo '这是test插件的a hook内容 <br>';
~~~
那我们的控制器如何使用到这个a.hook呢
我们看一下控制器内容
~~~
<?php
namespace Action;
use HY\Action;
class IndexAction extends Action {
public function Index(){
//{hook a}
echo '这是Index控制器的index() 方法';
}
}
~~~
访问控制器
+++
get:/
<<<
success
这是test插件的a hook内容
这是Index控制器的index() 方法
+++
在控制器中建立hook点
//{hook 名称}
框架引擎将查找你的插件目录 寻找到名称.hook 吧内容插入到控制器中执行
## re 插件机制
re 插件机制可以与hook同时使用, 但re机制的解析优先级要比hook的优先.
re 插件机制 与 hook的不同之处是 hook需要在源代码插入hook点, 而re机制则不需要hook点 直接查找源代码进行替换修改
接着上面的做法
在**test** 插件目录新建文件**re.php**.
写入
~~~
<?php
return array(
'Action/Index.php'=>array(
'a1'=>'a2'
)
);
~~~
上面的意思是指:
修改Action/Index.php内容.
查找 /Plugin/test/a1 文件内容
替换为 /Plugin/test/a2 文件内容
Index控制器内容
~~~
<?php
namespace Action;
use HY\Action;
class IndexAction extends Action {
public function Index(){
//{hook a}
echo '这是Index控制器的index() 方法';
}
}
~~~
> Plugin/test/a1 文件内容
`echo '这是Index控制器的index() 方法';`
> Plugin/test/a2 文件内容
~~~
echo '这是Index控制器的index() 方法 <br>';
echo '我是re机制追加的内容'
~~~
访问控制器
+++
get:/
<<<
success
这是test插件的a hook内容
这是Index控制器的index() 方法
我是re机制追加的内容
+++
- HYPHP框架前言
- 基本认识
- 环境要求
- 框架目录结构
- 入口文件
- 开始使用
- 访问框架
- 控制器
- 控制器定义
- 空控制器空函数
- 显示模板
- 模板变量赋值
- Json输出
- URL缩短控制器方法
- URL生成
- 请求类型
- 模板
- 建立模板
- 模板分组
- ----标签类----
- 输出变量
- 包含模板
- 判断标签
- 循环标签
- 数据库模型
- 数据库介绍
- 连接数据库
- 多数据库
- 配置多数据库
- 使用多数据库
- where条件
- 基础where
- AND OR
- LINK 模糊查找
- ORDER 排序
- MATCH 多键搜索
- 数据库内置函数
- LIMIT
- Select
- 多表Select
- Insert 插入数据
- Update 更新数据
- Delete 删除数据
- Find 查找一行
- Has 是否存在该数据
- Count 总数
- Max/Min 表最大/小值
- Action 事务
- 原生查询
- Model 定义
- 调试模式
- 查询缓存
- 自定义类库
- 框架内置函数
- X 获取预定义变量
- S 与 M 函数
- C 获取config配置
- A 调用另一个控制器方法
- cookie 与 session 函数
- E 函数
- cache 数据缓存
- F 文件数据缓存
- 判断电脑端移动端
- vendor 映射自动加载类路径
- 框架内置常量
- 框架内置Config.php配置
- 插件模式
- 开启插件模式
- 新建插件
- 插件独立开关
- 中文PHP
- 简介
- 开启支持
- 中文API
- 使用示例
- 加入自定义中文函数配置