例如,我们在Index模块调用User模块的操作方法
- class IndexAction extends Action{
- public function index(){
- //实例化UserAction
- $User = new UserAction();
- //其他用户操作
- //...
- $this->display(); //输出页面模板
- }
- }
并且为了方便跨模块调用,系统内置了A方法和R方法。
A方法表示实例化某个模块,例如,上面的方法可以改为:
- class IndexAction extends Action{
- public function index(){
- //实例化UserAction
- $User = A('User');
- //其他用户操作
- //...
- $this->display(); //输出页面模板
- }
- }
跨项目调用的格式是:
A('[项目名://][分组名/]模块名')
例如:
- A('User') //表示调用当前项目的User模块
- A('Admin://User') //表示调用Admin项目的User模块
- A('Admin/User') //表示调用Admin分组的User模块
- A('Admin://Tool/User') //表示调用Admin项目Tool分组的User模块
R('[项目名://][分组名/]模块名/操作名',array('参数1','参数2'…))
例如:
- R('User/info') //表示调用当前项目的User模块的info操作方法
- R('Admin/User/info') //表示调用Admin分组的User模块的info操作方法
- R('Admin://Tool/User/info') //表示调用Admin项目Tool分组的User模块的info操作方法
- class UserAction extends Action{
- protected function info($id){
- $User = M('User');
- $User->find($id);
- //...
- }
- }
- R('User/info',array(15))