建站百科Website News

当前位置:首页 »thinkphp跨模块调用方法

thinkphp跨模块调用方法

至成科技2013-03-10访问量(11484)评论(0)
摘要:thinkphp跨模块调用方法
在开发crm项目中经常遇到当前模块调用其他模块的方法涉及到跨模块调用,了解到A和R两个快捷方法的使用。

例如,在Index模块调用User模块的操作方法

<?php

class IndexAction extends Action {

public function index(){

$user= new UserAction();//实例化UserAction();

$this->display();

}

}

?>

因为系统会自动加载Action控制器,因此 我们不需要导入UserAction类就可以直接实例化。

并且为了方便跨模块调用,系统内置了A方法和R方法。

A方法表示实例化某个模块,例如,上面的方法可以改为:

<?php

class IndexAction extends Action {

public function index(){

$user=A(‘User’);//实例化UserAction();

$this->display();

}

}?>

事实上,A方法还支持跨分组或者跨项目调用,默认情况下是调用当前项目下面的模块。

跨项目调用的格式是:

A('[项目名://][分组名/]模块名')

A('User') 表示调用当前项目的User模块

A('Admin://User') 表示调用Admin项目的User模块

A('Admin/User') 表示调用Admin分组的User模块

A('Admin://Tool/User') 表示调用Admin项目Tool分组的User模块

R方法表示调用一个模块的某个操作方法,调用格式是:

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操作方法R方法还支持对调用的操作方法需要传入参数,例如User模块中我们定义了一个info方法:Class UserAction extends Action{

Protected function info($id){

$User = M('User');

$User->find($id);

…..

}

}

接下来,我们可以在其他模块中调用:

R('User/info',array(15))

表示调用当前项目的User模块的info操作方法,并且id参数传入15

扫描左侧二维码
关注至成微信公众号

西安至成信息科技有限公司  Copyright 2012-2025  xazcit.com  All rights reserved.

Email:zcit@zcit.net     邮政编码:710016     《中华人民共和国增值电信业务经营许可证》陕B1.B2-20140011     陕ICP备12008874号-1

联系地址:西安市经开区凤城四路西安国际企业中心B座23层06-10室    售前咨询热线:02989390727    售后服务电话:02989390727

西安网站建设、网站设计制作公司-至成科技,已为众多企业提供网站建设网站制作响应式网站设计手机网站建设虚拟主机云主机服务器租用等建站解决方案。

域名合作伙伴:新网互联软件服务有限公司 陕公网安备 61019102000393号

网络警察12321垃圾信息举报不良信息举报中国文明网西安工商高新技术企业证书