php控制器详解,ThinkPHP5 控制器(一:控制器架构)
在实际项目中,我们在拿到需求之前,往往要先进行框架的选择和搭建,以及开发一些公用的方法,接下来,博主会将自己用到的公用方法进行封装分享。
控制器架构
在复杂项目中,一个模块并不能满足我们的需求,大多数情况下,我们需要多模块开发。
假设我们的现在的模块分为: admin 、 supplier 、home 三个模块。
因此我们需要在项目中加入 common 模块 (公用模块),并在配置文件 config.php中将其设置为 禁止访问。如下:
'deny_module_list' => ['common'],
接下来,在common下建立 controller 文件夹,并建立Base (公用基类)文件。
namespace app\common\controller;
use think\Controller;
/**
* 基类控制器
*/
abstract class Base extends Controller
{
}
再建立 AuthBase.php 文件来进行权限控制
namespace app\common\controller;
class AuthBase extends Base
{
public function _initialize ()
{
parent::_initialize ();
//加入权限验证
}
}
接下来,我们以admin模块为例,在admin下 建立 controller文件夹和 AdminBase.php (Admin模块公用类)。
namespace app\admin\controller;
use app\common\controller\AuthBase;
class AdminBase extends AuthBase
{
//admin模块下公用的 controller 方法
}
发布评论