ThinkPHP5.0之控制器中常用操作
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之控制器中常用操作相关推荐
- python数据处理常用函数_Python中常用操作字符串的函数与方法总结
Python中常用操作字符串的函数与方法总结 这篇文章主要介绍了Python中常用操作字符串的函数与方法总结,包括字符串的格式化输出与拼接等基础知识,需要的朋友可以参考下 例如这样一个字符串 Pyth ...
- Google colab中常用操作
Google colab中常用操作 1.执行命令行 1.1 执行python文件 1.2 执行.sh文件 1.3 执行R程序 1.3.1 加载rpy2.ipython 1.3.2 os.system( ...
- 整理 .Net 2.0 下 WinForms中常用的方法(更新中...)
using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; /**// ...
- ZF2开发中常用操作
1.如何在zend framework 2 Controller获取网址? use Zend\View\Helper\ServerUrl; //http://my.oschina.net/cart/ ...
- 系统中常用操作基类(SSH项目中)非常非常经典的部分
package com.css.common.hibernate3; import java.io.Serializable; import java.util.List; import java.u ...
- thinkphp5.0解决控制器驼峰命名时提示找不到类名
今天碰到了一个比较坑爹的问题,我的控制器的名字是用驼峰命名的,但是却给我报错,如下: 怎么解决呢? 看我的视图,同样是驼峰命名,此时只要将其改为auth_group这样的方式就可以了. 注意:url地 ...
- Typora表格中常用操作
快捷键 行为 Enter 跳出表格 Shift + Enter 表格内换行 Alt + Enter 添加一行 Alt + 方向键 向上/下移动该行
- LeetCode中常用语言的一些基本方法记录
文章目录 LeetCode中常用语言的一些基本方法记录 Java 数组 数组的常用操作及方法 Arrays工具类 Collections类常用方法总结 二维数组 字符串常用属性及方法 JavaScri ...
- radare2 常用操作总结
radare2 简介 radare2是一个用C语言编写的跨平台的二进制分析工具,支持ARM.MIPS.X86等平台,支持分析多种格式的二进制文件如ELF.Mach-O.Fatmach-O, PE.PE ...
- python网络爬虫方向的第三方库_Python网络爬虫中常用第三方库总结
python对于爬虫的编写已经是相当的友好了,不过除了利用requests库或者scrapy框架之外,有一些库还需要我们知道,以便于我们更熟练.便捷的完成目标数据的爬取,接下来我就总结一下我认为在爬虫 ...
最新文章
- Go 学习笔记(53)— Go 标准库之 path(判断绝对路径、拆分目录和文件、组合路径、返回路径目录、获取路径最后文件名、获取文件扩展名、路径匹配规则)
- cookie的简单学习
- 打字机已经被计算机所取代用英语,无法被电脑所取代的职业
- 设计模式04_抽象工厂
- 也谈Oracle异常: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- 鼠标跟随事件jQuery
- Linux下MySQL的基础(一)
- 【数据挖掘】基于密度的聚类方法 - OPTICS 方法 ( 算法流程 | 算法示例 )
- Vue + Spring Boot 项目实战(十):图片上传与项目的打包部署
- 华硕服务器系统安装系统安装教程视频,华硕的系统安装教程 华硕u盘安装系统教程...
- linux用mame玩游戏,Ubuntu下用xmame玩街机游戏
- 网站打不开如何解决?教你4个方法搞定它!
- 一个屌丝程序员的青春(二五六)
- Zemax学习笔记——序列模式点光源与平行光设置
- 【Python可视化展示】-多维数据可视化分析
- CentOS 使用 yum 源安装 PHP 各版本、及 PHP 各扩展总结
- 带你走出计算机安全防范的六个误区
- YOLOv4训练自定义数据集
- BZOJ-2743 [HEOI2012]采花 【树状数组+离线处理】
- loadrunner——常见函数
热门文章
- vue父子组件间传参
- 【SPSS】软件介绍
- 数据库问题6-將系統資料表對應至系統檢視
- 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)...
- codevs1409 拦截导弹2
- blog迁来迁去的......
- 准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC、AUC
- jQuery创建、删除和修改html标签
- python项目---数据可视化(02)
- iOS:类似于网易云音乐的刷新条目显示弹框