A()方法

时间:2021-07-13 17:12:01
 
A方法用于在内部实例化控制器,调用格式:
A('[项目://][分组/]模块','控制器层名称')
最简单的用法:
  1. $User = A('User');
复制代码

表示实例化当前项目的UserAction控制器(这个控制器对应的文件位于Lib/Action/UserAction.class.php),

如果采用了分组模式,并且要实例化另外一个Admin分组的控制器可以用:
  1. $User = A('Admin/User');
复制代码

也支持跨项目实例化(项目的目录要保持同级)

  1. $User = A('Admin://User');
复制代码

表示实例化Admin项目下面的UserAction控制器

3.1版本增加了分层控制器的支持,所以还可以用A方法实例化其他的控制器,例如:

  1. $User = A('User','Event);
复制代码

实例化UserEvent控制器(对应的文件位于Lib/Event/UserEvent.class.php)。
实例化控制器后,就可以调用该控制器中的方法,不过需要注意的情况是,

在跨项目调用的情况下,如果你的操作方法 有针对当前控制器的特殊变量操作,会有一些未知的问题,
所以,一般来说,官方建议需要公共调用的控制器层单独开发,不要有太多的依赖关系。
 
致谢:http://www.thinkphp.cn/document/125.html