用美元可以调用当前模块的
方法,但在许多
情况下,在当前模块调用其他模块的方法往往used.thinkphp有法两种特殊的资本和
处理跨模块问题的方法调用。
目前,索引模块和
用户模块和showName showName
操作具体操作码为索引操
作用户模块如下:
< PHP
类将延伸动作{
公共职能showName(){
呼应你好,世界;
}
}
>
我们将调用操作的showName以上索引模块索引操作。
通过方法的跨模块调用操作
该方法用于实例化其他模块(当新关键字),并且在实例化模块之后,模块内的操作可以以对象的方式调用。
在索引操作的索引模块,用户模块实现的showName操作实例调用。
< PHP
类的indexAction延伸动作{
公共
功能索引(){
标题(内容
类型:
文本/ HTML;字符集= UTF-8);
实例化用户模块
用户名=一个(用户的);
用户模块中的方法调用
为用户-> showName();
}
}
>
该方法还
支持跨包调用和跨项目调用模块。语法如下:
一个('module
名字)
/常见示例如下
一个(用户)的当前项目 / /用户模块,如上面的例子
一个('admin: / / / /用户)用户模块称为
管理项目
一个('admin / / /用户)用户模块称为管理包
一个('admin: / /
工具/用户) / /用户模块称为管理项目的工具组
通过R方法的跨模块调用操作
ThinkPHP还提供了一个可以直接调用其他模块的
操作方法和改变的方法,上面的例子中的R R法方法:
< PHP
类的indexAction延伸动作{
公共功能索引(){
标题(内容类型:文本/ HTML;字符集= UTF-8);
用户模块中的方法调用
R(用户/ showName);
}
}
>
R方法还支持跨包调用和跨项目调用方法,其语法如下所示:
R('module名称/操作)
/常见示例如下
R(用户 / / / showName ')showName用户模块调用当前的项目,如上面的例子
R('admin: / /用户/ showName ') / / showName方法调用用户模块管理项目
R('admin /用户/ showName ') / / showName方法调用admin包用户模块
R('admin: / /工具/用户/信息') / /信息方法的用户模块称为包的工具管理项目
r法接收
参数 R方法也支持传入方法调用的参数,因为为了传递参数可能需要实际调动的操作。
r方法的第二个参数是一个数组,它将作为调用操作的参数传入:
R(用户/ showName,阵列(5));
这个例子表明showName操作将接受5这样的参数,相应的showName操作可能如下:
< PHP
类将延伸动作{
公共职能showName($id){
根据id参数代码访问用户信息
}
}
>
为了传递多个参数,R方法的数组()参数数组依次用多个元素定义。
是方法还是R法
从上面的例子中可以看到,方法和R方法都可以调用其他模块的操作。使用方法或R方法好吗建议如下:如果您想在其他模块中使用多个方法,建议使用一种方法,通过不同的方法调用模块的方式,避免重复实例化对象;如果您只想使用一种方法到其他模块,那么无疑R方法是最简洁的。