Thinkphp中的A 函数(Thinkphp3.2.3版本)
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版本)的更多相关文章
- Thinkphp中的 I 函数(Thinkphp3.2.3版本)
I 函数的作用是获取系统变量,必要时还可以对变量值进行过滤及强制转化,I 函数的语法格式: I('变量类型.变量名/修饰符',['默认值'],['过滤方法或正则'],['额外数据源']) 一.获取变量 ...
- Thinkphp中的U函数(Thinkphp3.2.3版本)
U函数的作用是根据当前的URL设置生成对应的URL地址,使用U函数可以确保项目在移植过程中不受环境的影响. U方法的定义规则如下(方括号内参数根据实际应用决定): U('地址表达式',['参数'],[ ...
- ThinkPHP中的快捷函数小结
U() 制作url地址的快捷函数 C(名称) 获得配置变量(convertion.php config.php)信息C(名称,值) 设置配置变量信息 L() 获得语言变量信息E() 给页面输出错误信息 ...
- thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么
thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么 一.总结 一句话总结:在thinkphp中,我们访问的始终是入口文件,并没有主动去访问任何一个其他文件,只不过在入口文件体内 ...
- Thinkphp模板中使用自定义函数的方法
注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### ...
- 关于thinkphp3.2中的U函数使用的是二级域名但是U函数生成的还是WWW开头的域名
关于thinkphp3.2中的U函数使用的是二级域名但是U函数生成的还是WWW开头的域名 查看代码是由于U函数中对开启 APP_SUB_DOMAIN_DEPLOY 子域名部署 加的额外设置 如果你使 ...
- thinkphp模板中使用自定义函数
注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### ...
- thinkphp中的内置操作数据库与mysql中的函数汇总
8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ...
- 封装一个函数,在ThinkPHP中一定程度上取代success和error
1.下载jq2.下载layer3.根据自己的项目配置,将上述2文件放到样式目录中4.在Application/Common/function.php中添加如下代码function msg($msg,$ ...
随机推荐
- Fluent Interface(流式接口)
我最初接触这个概念是读自<<模式-工程化实现及扩展>>,另外有Martin fowler大师 所写http://martinfowler.com/bliki/FluentInt ...
- 推荐net开发cad入门阅读代码片段
转载自 Cad人生 的博客 链接:http://www.cnblogs.com/cadlife/articles/2668158.html 内容粘贴如下,小伙伴们可以看看哦. using Syst ...
- JAVA_SE基础——7.常量&变量
上一篇,我讲了标识符&关键字 这篇我来解释下变量&常量~~~ 变量与常量这两个概念相信大家都不会感到陌生,在数学中就已经涉及了变量与常量.理解变量与常量,可以举这样一个例子: 例 ...
- 构建自己的 PHP 框架
这是一个系列的文章,项目地址在这里,欢迎大家star. 这个框架前一部分比较像Yii,后一部分比较像Laravel,因为当时正在看相应框架的源码,所以会有不少借鉴参考.捂脸- 这个框架千万不要直接应用 ...
- Python内置函数(47)——vars
英文文档: vars([object]) Return the __dict__ attribute for a module, class, instance, or any other objec ...
- C语言学习(二)
今天在程序员面试题中,碰到一个有意思的题目:数组a[N],存放了1至N-1个数,其中某个数重复一次,现在要求找出重复的数字且程序时间复杂度必须为O(N).乍一看,如果不计时间复杂度和空间复杂度程序比较 ...
- Tomcat8.0 配置环境
(1)首先安装JDk 下载jdk进行安装后进行配置环境 新增一个Java_Home的变量复制本地安装目录的路径:eg:C:\Program Files (x86)\Java\jdk1.8.0_141\ ...
- python实现排序算法 时间复杂度、稳定性分析 冒泡排序、选择排序、插入排序、希尔排序
说到排序算法,就不得不提时间复杂度和稳定性! 其实一直对稳定性不是很理解,今天研究python实现排序算法的时候突然有了新的体会,一定要记录下来 稳定性: 稳定性指的是 当排序碰到两个相等数的时候,他 ...
- Dapper中条件为In的写法
今天用Dapper更新是用到了IN写法,园子里找了篇文章这样写到 传统sql in (1,2,3) 用dapper就这样写 conn.Query<Users>("SELECT * ...
- tomcat增加处理线程数量
修改server.xml <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" ma ...