## 插件
Addon 与 Hook 使用方法基本一致,不同点在代码存放目录与配置项设置.
#### 注意
a. 插件默认存放在 Addon 目录中(可改变插件目录)
b. 插件类必须以 Addon.class.php 结尾
c. 在入口文件定义 define('APP_ADDON_PATH','Addons/')
#### 基本使用
**配置项**
配置项时不要加 Addon 后缀,这与 Hook 配置不同
*例:*
~~~
return array(
'Hook' => array(
'Test' => array('Mail'),
)
);
~~~
*插件主文件, 路径: `Addons\Mail\MailAddon.class.php`*
~~~
class MailAddon
{
public function Test()
{
echo ' Mail插件执行..';
}
}
~~~
在控制器中调用插件
~~~
namespace Home\Controller;
class IndexController extends Controller
{
public function index()
{
Hook::listen('Test');
//代码将执行输出: Mail插件执行..
}
}
~~~
## 插件模块
其实插件就是一个模块,可以像一般模块一样在插件目录中创建 Controller、Model、View、Config 等目录 , 使用方法与普通模块一样。
即然插件就是一个模块,那么我们也可以直接访问插件控制器,URL 地址与普通模块相
似,只是加上 g 参数即可。
访问 `Login` 插件中的 `AdminController` 控制器
`g=Addons&m=Login&c=Admin&a=index`