控制器类文件是承载操作方法的类库,vaeThink延续ThinkPHP V5.0控制器灵活定义的特性,她的定义方法如下:
一个admin模块下的控制器定义方法应当如下:
namespace app\admin\controller; class IndexController { // index操作方法 public function index() { return 'index'; } } // 那么她的实际位置应该是app\admin\controller\IndexController.php
需要特别注意的是vaeThink 的所有模块下的控制器类文件名都要加上Controller后缀。
vaeThink为开发者准备了几个公共类,便于开发者在定义控制器类时进行继承,同样以admin模块进行举例:
namespace app\admin\controller; use vae\controller\ControllerBase; class IndexController extends ControllerBase { // index操作方法 public function index() { return 'index'; } }
警告:控制器类公共继承类,所有控制器都必须直接或间接继承vae\controller\ControllerBase类。
namespace app\admin\controller; use vae\controller\AdminCheckLogin; class IndexController extends AdminCheckLogin { // index操作方法 public function index() { return 'index'; } }
注意:所有admin模块下需要登录的控制器都应该直接或间接继承该验证登录类。
namespace app\admin\controller; use vae\controller\AdminCheckAuth; class IndexController extends AdminCheckAuth { // index操作方法 public function index() { return 'index'; } }
注意:所有admin模块下需要验证auth权限的控制器都应该直接或间接继承该权限验证类vae\controller\AdminCheckAuth。 另外,该类默认继承AdminCheckLogin类,因此也验证登录。
namespace app\port\controller; use vae\controller\PortControllerBase; class IndexController extends PortControllerBase { // index操作方法 public function index() { return 'index'; } }
注意:所有port模块下的控制器都应该直接或间接继承vae\controller\PortControllerBase类。
vaeThink 想你所想。