Thinkphp中的A函数(Thinkphp3.2.3版本)
A函数是TP中实例化控制器的⼀个快捷函数,它的语法结构如下:
A('模块/控制器')
//当控制器层名称不是 Controller 时须这样写
A('模块/控制器','控制器层名称')
如果要调⽤的控制器就在当前模块下,那么也可以按如下语法写:
A('控制器')
//或者这样
A('控制器','控制器层名称')
通常情况下访问控制器的实例化是⾃动完成的,系统会根据URL地址解析出访问的控制器名称⾃动实例化,并且调⽤相关的操作⽅法。⽐如我们输⼊下列URL地址:
serverName/Home/Index/index
此时系统会⾃动实例化 Home/Controller/IndexController.class.php 中的 IndexController 类。但如果你需要跨控制器调⽤的话必须先实例化才能调⽤:
//假设当前在Home模块的Index控制器下
// 实例化Home模块的User控制器
$User = new \Home\Controller\UserController();
// 实例化Admin模块的Blog控制器
$Blog = new \Admin\Controller\BlogController();
以上代码如果⽤ A 函数的话可以简化如下:
$User = A('User'); //因为 User 控制器就在当前模块 Home 下,所以模块名称可以省略
$Blog = A('Admin/Blog');
默认情况下,A⽅法实例化的是默认控制器层(Controller),如果你要实例化其他的分层控制器的话(⽐如 Event),可以使⽤:thinkphp3
// 假设当前模块是Home模块
// 实例化Event控制器
$User = A('User','Event');
$Blog = A('Admin/Blog','Event');
上⾯的代码等效于:
// 实例化Home模块的User事件控制器
$User = new \Home\Event\UserEvent();
// 实例化Admin模块的Blog事件控制器
$Blog = new \Admin\Event\BlogEvent();

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。