# ThinkPHP函数详解:R函数
[TOC]
R函数用于调用某个控制器的操作方法,是A函数的进一步增强和补充。关于[A函数](http://www.kancloud.cn/curder/php/123662)
R方法的调用格式
>[danger]
**R('[资源://][模块/]控制器/操作');**
例如,我们定义了一个操作方法【方法需要时Public权限】为:
~~~
<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller {
// 列出某个用户的详细信息
public function detail($id){
return M('User')->find($id);
}
}
?>
~~~
文件路径为 **APP_PATH/Home/Controlel/UserController.class.php**
## 当前模块下的控制器调用detail方法
~~~
$detail = R('User/detail',array(1));
~~~
调用控制器的路径为 **APP_PATH/Home/Controlel/HomeController.class.php**
## 其他模块下的控制器调用detail方法
~~~
$detail = R('Home/User/detail',array(1));
~~~
## 调用非控制器命名空间下detail方法
例如,我们定义了一个逻辑层操作方法【方法需要时Public权限】为:
~~~
<?php
namespace Home\Logic;
use Think\Controller;
class UserLogic extends Controller{
public function detail($id){
return M('User')->find($id);
}
}
~~~
文件位于 **APP_PATH/Home/Logic/UserLogic.class.php**
相同模块下调用的方法是
~~~
$detail = R('User/detail',array(100000),'Logic');
~~~
调用文件位于 **APP_PATH/Home/Controller/HomeController.class.php**
不同模块下的调用方法是
~~~
$detail = R('Home/User/detail',array(100000),'Logic');
~~~
调用文件位于 **APP_PATH/Admin/Controller/IndexController.class.php**
也就是说,R函数的第三个参数支持指定调用的控制器层。
同时,R函数调用操作方法的时候可以支持操作后缀设置C('ACTION_SUFFIX'),如果你设置了操作方法后缀,仍然不需要更改R方法的调用方式。
- 开始
- PHP配置参数的介绍
- PHP代码优化
- php中的命名空间
- PHP文件上传类
- PHP文件下载
- PHP验证码
- ThinkPHP3.2 框架函数
- A函数:实例化控制器
- C函数:设置和获取配置参数
- D函数:实例化模型
- F 函数:快速缓存设置和存取
- M函数:例化模型(无需定义模型类)
- L函数:设置和获取语言变量
- S 函数:缓存设置和存取
- R函数:直接调用控制器的操作方法
- U函数:URL地址生成
- I 函数:安全获取系统输入变量
- 日志
- ThinkPHP在关闭调试模式导致函数被缓存
- MySQL触发器使用时遇到的坑
- PHP常用函数
- 五一回家记录
- window的PHP开发(wamp)下安装redis扩展
- Windows下安装使用Redis
- PHP7新特性
- 利用 phpmailer 类实现队列发送邮件
- GD 库图像处理
- 检测 PHP 模块是否开启
- GD 库操作一般步骤
- GD 库绘画改变字体
- GD 绘制验证码
- GD 缩略图实现
- GD 绘制水印
- 日期时间函数库
- PHP 函数
- 无限极分类