基类不同
- 插件控制器基类为:
\think\addons\Controller - ThinkPHP5控制器基类为:
\think\Controller
请求URL不同
- 插件控制器请求方法为:
http://www.da.com/addons/mydemo/控制器名/方法 - ThinkPHP5控制器请求方法为:
http://www.da.com/模块名/控制器名/方法
当使用层级控制器时
- 插件控制器请求方法为:
http://www.da.com/addons/mydemo/目录名.控制器名/方法 - ThinkPHP5控制器请求方法为:
http://www.da.com/模块名/目录名.控制器名/方法 - 插件控制器必须继承
\think\addons\Controller这个基类控制器。
控制器定义
一个典型的控制器代码如下:
<?php
namespace addons\mydemo\controller;
use think\addons\Controller;
class Index extends Controller
{
public function index()
{
$this->error("当前插件暂无前台页面");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
php
- 其文件位置位于
addons/mydemo/Index.php 。
控制器请求
http://www.da.com/addons/mydemo/控制器名/控制器方法
1
基类控制器
- 苹果CMS 的基类控制器
\think\addons\Controller 位于vendor/karsonzhang/fastadmin-addons/src/addons/Controller.php 。 - 基类控制器是FastAdmin插件系统的一部分,在基类控制器进行了一系列的操作,包括插件控制器权限检查、语言包加载、布局设定、配置加载等操作。
- 同时基类控制器也是继承自
\think\Controller ,此控制器基类是ThinkPHP5 自带的基类控制器,因此也可以实现绝大多数ThinkPHP5官方文档控制器章节的功能。
基类属性
protected $addon = null; //插件名称
protected $controller = null; //控制器名称
protected $action = null; //方法名称
/**
* 无需登录的方法,同时也就不需要鉴权了
* @var array
*/
protected $noNeedLogin = ['*'];
/**
* 无需鉴权的方法,但需要登录
* @var array
*/
protected $noNeedRight = ['*'];
/**
* 权限Auth,如果用户是登录状态,可以直接从中读取用户信息
* @var Auth
*/
protected $auth = null;
/**
* 布局模板,默认不启用
* @var string
*/
protected $layout = null;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
php