码迷,mamicode.com
首页 > Web开发 > 详细

Thinkphp中的A 函数(Thinkphp3.2.3版本)

时间:2016-05-13 14:07:53      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

A函数是TP中实例化控制器的一个快捷函数,它的语法结构如下:

A(‘模块/控制器‘)
//当控制器层名称不是 Controller 时须这样写
A(‘模块/控制器‘,‘控制器层名称‘)

 

如果要调用的控制器就在当前模块下,那么也可以按如下语法写:

A(‘控制器‘)
//或者这样
A(‘控制器‘,‘控制器层名称‘)

 


通常情况下访问控制器的实例化是自动完成的,系统会根据URL地址解析出访问的控制器名称自动实例化,并且调用相关的操作方法。比如我们输入下列URL地址:

http://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),可以使用:

// 假设当前模块是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();

 

Thinkphp中的A 函数(Thinkphp3.2.3版本)

标签:

原文地址:http://www.cnblogs.com/programs/p/5487853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!