ThinkPHP5 控制器(一:控制器架构)

  • A+
所属分类: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 方法
}
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: