ThinkPHP快捷方法汇总(随时添加)

读取配置  

C(‘参数名称‘)

例如,读取当前的URL模式配置参数:

$model = C(‘URL_MODEL‘);
// 由于配置参数不区分大小写,因此下面的写法是等效的
// $model = C(‘url_model‘);

C方法也可以用于读取二维配置:

//获取用户配置中的用户类型设置
C(‘USER_CONFIG.USER_TYPE‘);

因为配置参数是全局有效的,因此C方法可以在任何地方读取任何配置,即使某个设置参数已经生效过期了。


动态配置

设置格式:C(‘参数名称‘,‘新的参数值‘)

例如,我们需要动态改变数据缓存的有效期的话,可以使用

// 动态改变缓存有效期
C(‘DATA_CACHE_TIME‘,60);

动态配置赋值仅对当前请求有效,不会对以后的请求造成影响。

动态改变配置参数的方法和读取配置的方法在使用上面非常接近,都是使用C方法,只是参数的不同。

也可以支持二维数组的读取和设置,使用点语法进行操作,如下:

// 获取已经设置的参数值
C(‘USER_CONFIG.USER_TYPE‘);
// 设置新的值
C(‘USER_CONFIG.USER_TYPE‘,1);

实例化控制器

A

// 假设当前模块是Home模块
$User = A(‘User‘);
$Blog = A(‘Admin/Blog‘);

默认情况下,A方法实例化的是默认控制器层(Controller),如果你要实例化其他的分层控制器的话,可以使用:

// 假设当前模块是Home模块
// 实例化Event控制器
$User = A(‘User‘,‘Event‘);
$Blog = A(‘Admin/Blog‘,‘Event‘);

R

备注:需要指定方法

echo R(‘Admin/Index/index‘);

URL生成

U方法,用于URL的动态生成:   U(‘地址表达式‘,[‘参数‘],[‘伪静态后缀‘],[‘显示域名‘])

如果不定义模块的话 就表示当前模块名称,下面是一些简单的例子:

U(‘User/add‘) // 生成User控制器的add操作的URL地址
U(‘Blog/read?id=1‘) // 生成Blog控制器的read操作 并且id为1的URL地址
U(‘Admin/User/select‘) // 生成Admin模块的User控制器的select操作的URL地址
参数

U方法的第二个参数支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,例如:

U(‘Blog/cate‘,array(‘cate_id‘=>1,‘status‘=>1))
U(‘Blog/cate‘,‘cate_id=1&status=1‘)
U(‘Blog/cate?cate_id=1&status=1‘)

三种方式是等效的,都是生成Blog控制器的cate操作 并且  cate_id  为1   status  为1的URL地址。

伪静态后缀

U函数会自动识别当前配置的伪静态后缀,如果你需要指定后缀生成URL地址的话,可以显式传入,例如:

U(‘Blog/cate‘,‘cate_id=1&status=1‘,‘xml‘);

获取变量

I方法是ThinkPHP用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下:

I(‘变量类型.变量名/修饰符‘,[‘默认值‘],[‘过滤方法或正则‘],[‘额外数据源‘])

我们以GET变量类型为例,说明下I方法的使用:

echo I(‘get.id‘); // 相当于 $_GET[‘id‘]
echo I(‘get.name‘); // 相当于 $_GET[‘name‘]

支持默认值:

echo I(‘get.id‘,0); // 如果不存在$_GET[‘id‘] 则返回0
echo I(‘get.name‘,‘‘); // 如果不存在$_GET[‘name‘] 则返回空字符串

采用方法过滤:

// 采用htmlspecialchars方法对$_GET[‘name‘] 进行过滤,如果不存在则返回空字符串
echo I(‘get.name‘,‘‘,‘htmlspecialchars‘); 

支持直接获取整个变量类型,例如:

// 获取整个$_GET 数组
I(‘get.‘); 

用同样的方式,我们可以获取post或者其他输入类型的变量,例如:

I(‘post.name‘,‘‘,‘htmlspecialchars‘); // 采用htmlspecialchars方法对$_POST[‘name‘] 进行过滤,如果不存在则返回空字符串
I(‘session.user_id‘,0); // 获取$_SESSION[‘user_id‘] 如果不存在则默认为0
I(‘cookie.‘); // 获取整个 $_COOKIE 数组
I(‘server.REQUEST_METHOD‘); // 获取 $_SERVER[‘REQUEST_METHOD‘] 

param变量类型是框架特有的支持自动判断当前请求类型的变量获取方式,例如:

echo I(‘param.id‘);

如果当前请求类型是GET,那么等效于 $_GET[‘id‘],如果当前请求类型是POST或者PUT,那么相当于获取 $_POST[‘id‘] 或者 PUT参数id。

由于param类型是I函数默认获取的变量类型,因此事实上param变量类型的写法可以简化为:

I(‘id‘); // 等同于 I(‘param.id‘)
I(‘name‘); // 等同于 I(‘param.name‘)

path类型变量可以用于获取URL参数(必须是PATHINFO模式参数有效,无论是GET还是POST方式都有效),例如: 当前访问URL地址是   http://serverName/index.php/New/2013/06/01

那么我们可以通过

echo I(‘path.1‘); // 输出2013
echo I(‘path.2‘); // 输出06
echo I(‘path.3‘); // 输出01

data类型变量可以用于获取不支持的变量类型的读取,例如:

I(‘data.file1‘,‘‘,‘‘,$_FILES);


ThinkPHP快捷方法汇总(随时添加)

时间: 2024-08-04 03:35:55

ThinkPHP快捷方法汇总(随时添加)的相关文章

JAVA and JAVA WEB with TOMCAT and ECLIPSE 学习过程中遇到的字符乱码问题及解决方法汇总(随时补充)

JAVA语言具有跨平台,unicode字符集编码的特点. 但是在开发过程中处理数据时涉及到的字符编码问题零零散散,尤其是处理中文字符时一不留神就可能出现一堆奇奇怪怪的符号,俗称乱码. 对于乱码,究其原因,就是因为编码和解码过程中使用了错误的字符编码方案导致的. 首先在开头说明本人对 编码 解码 这两个概念的理解(如有错误烦请dalao指出,如有疑问也欢迎交流,感激不尽!): 首先,有一个字符串: String str="hello,编码"; 使用String类的方法getBytes(S

ThinkPHP单字母函数(快捷方法)使用总结

ThinkPHP单字母函数(快捷方法)使用总结 投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-07-23 这篇文章主要介绍了ThinkPHP单字母函数(快捷方法)使用总结,对ThinkPHP的快捷方法做了针对性的归纳总结,需要的朋友可以参考下 在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找. 1.U() URL组装 支持不同URL模式 ? 1 U($

转发:C#加密方法汇总

转自:C#加密方法汇总 方法一: 1 //须添加对System.Web的引用 2 using System.Web.Security; 3 ... 4 /// <summary> 5 /// SHA1加密字符串 6 /// </summary> 7 /// <param name="source">源字符串</param> 8 /// <returns>加密后的字符串</returns> 9 public stri

Android学习笔记之SQLite数据库的使用及常用的增删改查方法、无sql语句的DRUD方法汇总

(1)目录结构如下: (2)链接数据库的文件:DBHelper.java要继承SQLiteOpenHelper类 package com.lc.sqlite_demo1.db; import android.content.Context; import android.database.DatabaseErrorHandler; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLit

JS控制伪元素的方法汇总

转载自:http://www.jb51.net/article/81984.htm 一. 缘由: 本文源于在OSC社区中,有人提问如何用jq获取伪元素.我第一想法是强大的CSS Query应该可以获取伪元素吧. 然而事实上,CSS Query并不能.即我们不能通过$(":before").$(dom).find(":before")或document.querySelector(":before")来获取:before伪元素. 为此,我不得不重新

提升效率的Linux终端快捷操作汇总

很多普通 Linux 桌面用户都对使用终端感到排斥和恐惧,其实它没大家想的那么复杂,很多常见操作都可以直接在终端中进行,如:安装软件.升级系统等. 无论你是新手还是 Linux 终端使用的老鸟,系统极客在此为大家总结了提升终端命令执行效率的快捷操作汇总,希望能帮助你学习和提升效率. 移动定位光标 在终端中移动光标和定位似乎非常不便,其实不是你想的那样,有很多种方式可以让键盘成为你的好朋友,只是需要掌握正确的方法而已. 定位单词 在长段的命令中,使用 Ctrl + ← 和 Ctrl + → 可快速

ASP.NET(C#)常用数据加密和解密方法汇总

一.            数据加密的概念 1.  基本概念 2.  基本功能 3.  加密形式 二.            数据加密的项目应用和学习 1.  媒体加密:DRM 2.  文件加密:文本加密.pdf.word 3.  数据加密:ASP.NET(C#)中的数据加密 4.  硬件加密:加密狗 三.            数据加密的发展趋势 四.            网络数据加密算法分类 1.  根本不考虑解密问题:MD5. 2.  私用密钥加密:DES.AES 3.  公用密钥加密:

Thinkphp 连接数据库、查询、添加

一.连接数据库配置及Model数据模型层 1. Thinkphp\conf\convertion.php中找到数据库设置部分,复制到自己的配置文件中,并添加好有关数据库的内容 JiaoWu\Home\conf\config.php: 2. 制作model模型 a)  model本身就是一个类文件 b)  数据库中的每个数据表都对应一个model模型文件 c)  最简单的数据model模型类 在Home\Model文件夹中新建一个模型文件:InfoModel.class.php <?php nam

UITextView实现placeHolder方法汇总

UITextField中有一个placeholder属性,可以设置UITextField的占位文字,起到提示用户的作用.可是UITextView就没那么幸运了,apple没有给UITextView提供一个类似于placeholder这样的属性来供开发者使用.下面我就把自己能够想到的和网友提供的方法汇总一下,让更多的开发者知道,原来有这么多方法可以实现UITextView的占位文字. 方法一: 1.把UITextView的text属性当成“placeholder”使用. 2.在开始编辑的代理方法里