1、获取参数

  方法一:在thinkphp5的控制器方法中,如果需要获取view层传来的参数,可以使用助手函数input;

1  //获取post方法传过来的参数
2  $id = input('post.id');
3
4  //获取get方法传过来的参数
5  $id = input('id');

【指点迷津】为什么获取get参数时不是--input('get.id')呢?其实在官方文档中获取get参数可以使用$id = input('get.id')来获取的,但是在实际使用的时候会报错,所以在获取get参数时就不加get,而是直接写参数明就行了;

 

方法二:可以参照tp3,将内部函数M、D、U、S、C、I、F拷贝到thinkphp框架根目录下的thinkphp助手函数库helper.php中

  1 if (!function_exists('M')) {
  2     /**
  3      * 采有TP5最新助手函数特性实现函数简写方式 M
  4      * @param string $name 表名
  5      * @return DB对象
  6      */
  7     function M($name = '')
  8     {
  9         if(!empty($name))
 10         {
 11             return Db::name($name);
 12         }
 13     }
 14 }
 15
 16 if (!function_exists('D')) {
 17     /**
 18      * 采有TP5最新助手函数特性实现函数简写方式 D
 19      * @param string $name 表名
 20      * @return DB对象
 21      */
 22     function D($name = '')
 23     {
 24         $name = Loader::parseName($name, 1); // 转换驼峰式命名
 25         if(is_file(APP_PATH."/".MODULE_NAME."/model/$name.php")){
 26             $class = '\app\\'.MODULE_NAME.'\model\\'.$name;
 27         }elseif(is_file(APP_PATH."/home/model/$name.php")){
 28             $class = '\app\home\model\\'.$name;
 29         }elseif(is_file(APP_PATH."/mobile/model/$name.php")){
 30             $class = '\app\mobile\model\\'.$name;
 31         }elseif(is_file(APP_PATH."/api/model/$name.php")){
 32             $class = '\app\api\model\\'.$name;
 33         }elseif(is_file(APP_PATH."/admin/model/$name.php")){
 34             $class = '\app\admin\model\\'.$name;
 35         }elseif(is_file(APP_PATH."/seller/model/$name.php")){
 36             $class = '\app\seller\model\\'.$name;
 37         }
 38         if($class)
 39         {
 40             return new $class();
 41         }
 42         elseif(!empty($name))
 43         {
 44             return Db::name($name);
 45         }
 46     }
 47 }
 48
 49
 50
 51 /**
 52  * 采有TP5最新助手函数特性实现函数简写方式 M
 53  * URL组装 支持不同URL模式
 54  * @param string $url URL表达式,格式:'[模块/控制器/操作#锚点@域名]?参数1=值1&参数2=值2...'
 55  * @param string|array $vars 传入的参数,支持数组和字符串
 56  * @param string|boolean $suffix 伪静态后缀,默认为true表示获取配置值
 57  * @param boolean $domain 是否显示域名
 58  * @return string
 59  */
 60 if (!function_exists('U')) {
 61     function  U($url='',$vars='',$suffix=true,$domain=false){
 62        return Url::build($url, $vars, $suffix, $domain);
 63     }
 64 }
 65
 66
 67
 68 /**
 69  * 采有TP5最新助手函数特性实现函数简写方式 S
 70  * @param mixed $name 缓存名称,如果为数组表示进行缓存设置
 71  * @param mixed $value 缓存值
 72  * @param mixed $options 缓存参数
 73  * @return mixed
 74  */
 75 if (!function_exists('S')) {
 76    function S($name,$value='',$options=null) {
 77        if(!empty($value))
 78             Cache::set($name,$value,$options);
 79        else
 80            return Cache::get($name);
 81    }
 82 }
 83
 84
 85 /**
 86  * 采有TP5最新助手函数特性实现函数简写方式 S
 87  * 获取和设置配置参数 支持批量定义
 88  * @param string|array $name 配置变量
 89  * @param mixed $value 配置值
 90  * @param mixed $default 默认值
 91  * @return mixed
 92  */
 93 if (!function_exists('C')) {
 94     function C($name=null, $value=null,$default=null) {
 95         return config($name);
 96    }
 97 }
 98
 99
100 /**
101  * 采有TP5最新助手函数特性实现函数简写方式 I
102  * 获取输入参数 支持过滤和默认值
103  * 使用方法:
104  * <code>
105  * I('id',0); 获取id参数 自动判断get或者post
106  * I('post.name','','htmlspecialchars'); 获取$_POST['name']
107  * I('get.'); 获取$_GET
108  * </code>
109  * @param string $name 变量的名称 支持指定类型
110  * @param mixed $default 不存在的时候默认值
111  * @param mixed $filter 参数过滤方法
112  * @param mixed $datas 要获取的额外数据源
113  * @return mixed
114  */
115 if (!function_exists('I')) {
116     function I($name,$default='',$filter='htmlspecialchars',$datas=null) {
117
118         $value = input($name,'',$filter);
119         if($value !== null && $value !== ''){
120             return $value;
121         }
122         if(strstr($name, '.'))
123         {
124             $name = explode('.', $name);
125             $value = input(end($name),'',$filter);
126             if($value !== null && $value !== '')
127                 return $value;
128         }
129         return $default;
130     }
131 }
132
133 /**
134  * 采有TP5最新助手函数特性实现函数简写方式 F
135  * @param mixed $name 缓存名称,如果为数组表示进行缓存设置
136  * @param mixed $value 缓存值
137  * @param mixed $path 缓存参数
138  * @return mixed
139  */
140 if (!function_exists('F')) {
141     function F($name,$value='',$path='') {
142         if(!empty($value)){
143             Cache::set($name,$value);
144         }else{
145             return Cache::get($name);
146         }
147     }
148 }

然后就可以在控制器中使用了,比如获取参数id

1     $id = I("get.id");

和助手函数input的使用方法是一样的

转载于:https://www.cnblogs.com/liwuming/p/9084907.html

ThinkPHP5.0之控制器中常用操作相关推荐

  1. python数据处理常用函数_Python中常用操作字符串的函数与方法总结

    Python中常用操作字符串的函数与方法总结 这篇文章主要介绍了Python中常用操作字符串的函数与方法总结,包括字符串的格式化输出与拼接等基础知识,需要的朋友可以参考下 例如这样一个字符串 Pyth ...

  2. Google colab中常用操作

    Google colab中常用操作 1.执行命令行 1.1 执行python文件 1.2 执行.sh文件 1.3 执行R程序 1.3.1 加载rpy2.ipython 1.3.2 os.system( ...

  3. 整理 .Net 2.0 下 WinForms中常用的方法(更新中...)

    using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; /**// ...

  4. ZF2开发中常用操作

    1.如何在zend framework 2 Controller获取网址? use Zend\View\Helper\ServerUrl; //http://my.oschina.net/cart/ ...

  5. 系统中常用操作基类(SSH项目中)非常非常经典的部分

    package com.css.common.hibernate3; import java.io.Serializable; import java.util.List; import java.u ...

  6. thinkphp5.0解决控制器驼峰命名时提示找不到类名

    今天碰到了一个比较坑爹的问题,我的控制器的名字是用驼峰命名的,但是却给我报错,如下: 怎么解决呢? 看我的视图,同样是驼峰命名,此时只要将其改为auth_group这样的方式就可以了. 注意:url地 ...

  7. Typora表格中常用操作

    快捷键 行为 Enter 跳出表格 Shift + Enter 表格内换行 Alt + Enter 添加一行 Alt + 方向键 向上/下移动该行

  8. LeetCode中常用语言的一些基本方法记录

    文章目录 LeetCode中常用语言的一些基本方法记录 Java 数组 数组的常用操作及方法 Arrays工具类 Collections类常用方法总结 二维数组 字符串常用属性及方法 JavaScri ...

  9. radare2 常用操作总结

    radare2 简介 radare2是一个用C语言编写的跨平台的二进制分析工具,支持ARM.MIPS.X86等平台,支持分析多种格式的二进制文件如ELF.Mach-O.Fatmach-O, PE.PE ...

  10. python网络爬虫方向的第三方库_Python网络爬虫中常用第三方库总结

    python对于爬虫的编写已经是相当的友好了,不过除了利用requests库或者scrapy框架之外,有一些库还需要我们知道,以便于我们更熟练.便捷的完成目标数据的爬取,接下来我就总结一下我认为在爬虫 ...

最新文章

  1. Go 学习笔记(53)— Go 标准库之 path(判断绝对路径、拆分目录和文件、组合路径、返回路径目录、获取路径最后文件名、获取文件扩展名、路径匹配规则)
  2. cookie的简单学习
  3. 打字机已经被计算机所取代用英语,无法被电脑所取代的职业
  4. 设计模式04_抽象工厂
  5. 也谈Oracle异常: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
  6. 鼠标跟随事件jQuery
  7. Linux下MySQL的基础(一)
  8. 【数据挖掘】基于密度的聚类方法 - OPTICS 方法 ( 算法流程 | 算法示例 )
  9. Vue + Spring Boot 项目实战(十):图片上传与项目的打包部署
  10. 华硕服务器系统安装系统安装教程视频,华硕的系统安装教程 华硕u盘安装系统教程...
  11. linux用mame玩游戏,Ubuntu下用xmame玩街机游戏
  12. 网站打不开如何解决?教你4个方法搞定它!
  13. 一个屌丝程序员的青春(二五六)
  14. Zemax学习笔记——序列模式点光源与平行光设置
  15. 【Python可视化展示】-多维数据可视化分析
  16. CentOS 使用 yum 源安装 PHP 各版本、及 PHP 各扩展总结
  17. 带你走出计算机安全防范的六个误区
  18. YOLOv4训练自定义数据集
  19. BZOJ-2743 [HEOI2012]采花 【树状数组+离线处理】
  20. loadrunner——常见函数

热门文章

  1. vue父子组件间传参
  2. 【SPSS】软件介绍
  3. 数据库问题6-將系統資料表對應至系統檢視
  4. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)...
  5. codevs1409 拦截导弹2
  6. blog迁来迁去的......
  7. 准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC、AUC
  8. jQuery创建、删除和修改html标签
  9. python项目---数据可视化(02)
  10. iOS:类似于网易云音乐的刷新条目显示弹框