ThinkPHP 3.2 常用内置函数

news2024/12/30 4:03:26

ThinkPHP 3.2

  • 内置函数
    • C
    • D
    • M
    • 疑问: D与M方法的相同点与不同点
    • I
    • A
    • R

内置函数

C

C方法是用于获取或修改,系统配置参数
语法:

  1. 获取:C(需要获得的配置参数Name)
$value = C('config_name');
  • 设置:C(参数名称,参数value)
C('config_name', 'new_value');

C方法可以获取index.php,与Common\Conf\config.php等,系统核心配置文件中配置,如,数据库相关配置:

DB_TYPE:数据库类型。
DB_HOST:数据库主机。
DB_NAME:数据库名称。
DB_USER:数据库用户名。
DB_PWD:数据库密码。
DB_PORT:数据库端口。
DB_PREFIX:数据库表前缀。

系统公共设置:

APP_DEBUG:是否开启调试模式。
APP_GROUP_MODE:分组模式,默认为0,即目录分组模式。
APP_GROUP_LIST:定义分组列表。
DEFAULT_TIMEZONE:默认时区。

总结:这是一个提供给开发人员灵活更改配置文件配置的函数,但是需要非常注意使用,一旦多处混乱使用将导致全局配置发生错误

D

D方法用于实例化指定数据库表模型,属于实例化数据访问层模型,D方法真正含义表示,实例化与数据表相对应的Model类

//实例化模型
$User = D('User');
// 相当于 $User = new \Home\Model\UserModel();

语法:

D('表名称')

M

M方法用于实例化指定数据库表模型,属于实例化业务层模型

M('表名称')

疑问: D与M方法的相同点与不同点

相同点:

  • D与M方法语法都相同,都可以直接使用数据表名称,来访问数据表
  • 都支持链式调用

不同点:

  • D方法需要实例化模型类(Model类),而M方法则不需要,所以仅使用CRUD时,使用M方法效率更高
  • D方法表示自定义到模型类,所以它不仅支持简单到CRUD操作,还支持封装自定义操作数据表函数,便于外部调用

I

I方法命名来自于英文Input(输入),主要用于更加方便和安全的获取请求输入变量
语法

I('[变量来源类型.]变量名[/变量类型]',['默认值'],['过滤方法'])

变量来源类型参数有:

get		获取GET参数
post	获取POST参数
param	自动判断请求类型获取GET、POST或者PUT参数
request	获取REQUEST 参数
put		获取PUT 参数
session	获取 $_SESSION 参数
cookie	获取 $_COOKIE 参数
server	获取 $_SERVER 参数
globals	获取 $GLOBALS参数

示例:

echo I('get.id'); // 获取get请求中的id参数
echo I('get.'); // 获取get请求所有参数
echo I('param.age'); // 自动判断请求类型获取age 参数
echo I('sex'); // 相当于I('param.sex'),param可以简写
I('session.user_id',0); // 获取$_SESSION['user_id'] 如果不存在则默认为0
I('cookie.login'); // 从cookie中获取cookie名字为login的参数值
I('server.REQUEST_METHOD'); // 获取 $_SERVER['REQUEST_METHOD'] 

变量名不仅可以获取key=value模式的值,还可以获取PATHINFO(Restful)格式数据,例如:

访问URL:   http://serverName/index.php/New/2013/06/01 
在后台获取参数时可以使用以下方式获取
 I('param.1'); // 输出2013
 I('param.2'); // 输出06
 I('param.3'); // 输出01

变量类型可选参数有:
![](https://img-blog.csdnimg.cn/01d7a1ee6b154c0b9838dfd880e75549.png
列如:

I('get.id/d'); // 获取get方法中,参数名称为id,参数强制变量值转换为整型
I('post.name/s'); //  获取post方法中,参数名称为id,强制转换变量为字符串类型
I('post.ids/a'); //  获取post方法中,参数名称为id,强制变量转换为数组类型

可选参数:默认值
当请求参数用户未使用时,为避免业务出错,可以指定此参数,给指定参数一个默认值
例如:

I('get.id/d',0);//获取get方法中,参数名称为id,参数强制变量值转换为整型,并且默认值为0
I('name',''); //从请求中获取name值,如果此参数不存在则提供空字符串

可选参数:过滤方法

A

方法A用于实例化控制器类,方便调用控制器中到方法与属性
语法

A('[项目://][分组/]模块','控制器层名称')

在同级目录中:

$User = A('User');//表示同目录的UserController

在其他目录中:

$User = A('Admin/User');//表示同Admin目录的UserController

跨项目实例化(项目的目录要保持同级)

$User = A('Admin://User');//Admin项目中的同级UserController

R

R方法是对A 方法的进一步补充和增强
语法

R('[项目://][分组/]模块/操作',['参数'],['控制器层名称'])

注意点: 方法必须是public类型修饰
例如:

$data = R('User/detail',array('5'));//表示调用UserController中的detail方法,并传入参数5

当方法为无参时

$data = R('User/detail');

也支持跨分组和项目调用:

R('Admin/User/detail',array('5'));//表示admin模块UserController中detail方法
R('Admin://User/detail',array('5'));//表示admin项目UserController中detail方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1123212.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常用的CSS伪类和伪元素有哪些?

除了之前提到的:hover、:nth-child(n)、::first-letter和::before之外,还有许多其他常用的CSS伪类和伪元素。以下是一些常见的示例: 常用的CSS伪类(Pseudo-classes): :active:选择处于活动(被…

python爬虫入门(一)web基础

HTTP基本要点 HTTP请求,由客户端向服务端发出,可以分为 4 部分内容:请求方法(Request Method)、请求的网址(Request URL)、请求头(Request Headers)、请求体&#xff08…

倾斜摄影三维模型根节点合并技术方法探讨

倾斜摄影三维模型根节点合并技术方法探讨 倾斜摄影技术是一种通过无人机或其他航空器采集大量高分辨率照片,并使用特殊软件将这些照片拼接成三维模型的方法。在这个过程中,摄影机以倾斜角度拍摄照片,从而捕捉到目标物体的多个视角&#xff0c…

阿里云对象存储OSS怎么停止扣费

阿里云对象存储OSS一直扣费如何停止?如何关闭对象存储OSS?阿里云对象存储OSS没有关闭功能,如果不再使用对象存储OSS可以删除存储空间Bucket下的所有文件,详细说下阿里云对象存储OSS停止收费的方法: 阿里云对象存储OSS…

halcon 车牌识别

文章目录 素材图片预处理操作读取图片阈值处理图片仿射 识别预处理数字字母识别识别显示识别汉字预处理 字符组装汉字组装连接所有字符训练文件图像识别全部代码 素材图片 预处理操作 读取图片 * 读取图片 dev_close_window() read_image(Image,C:/Users/Augustine/Desktop/p…

iPhone怎么导出微信聊天记录?3个值得收藏的方法

随着时间的推移,微信占用的内存空间会“膨胀”得越来越大。当手机内存不足时,清理微信中的聊天记录是一个可行的方法。但是很多小伙伴觉得有些重要的聊天记录还有用,可能以后需要进行查看。 因此,他们想将一些聊天记录进行导出或…

NI9234 4 通道, ±5 V, 24 位软件可选 IEPE 和 AC/DC模拟输入模块振动测试国产替代

NI的自动化测试和测量系统将助您打破桎梏,化不可能为可能。让我们携手合作,选择最适合您的硬件、软件和服务组合,为您提供全副武装,助您成就非凡。 购买NI的产品或服务,并非只是单纯的一次性交易行为。如果您有任何疑…

【Javascript】不满意网上的Token无感知刷新方案,自己琢磨了个感觉还不错~

​前言 大家设想一下,如果有一个超级大的表单页面,用户好不容易填完了,然后点击提交,这个时候请求接口居然返回401,然后跳转到登录页。。。那用户心里肯定是一万个草泥马~~~ 所以项目里实现token无感知刷新是很有必要…

Cooking Casual -A Chef‘s Game

Cooking Casual brings out your inner crazy chef in this cool restaurant game! support email : 825407372qq.com

你真的懂Java中的equals和==吗?看完这篇文章你就知道了

和 equals() 是 Java 中两个用于比较对象是否相等的操作符和方法。它们的区别主要有以下几点: 一、类型 是一个运算符,而 equals() 是一个方法。 二、比较对象 Java数据对象类型分为两大类:基本类型和引用类型。 比较的对象可以是基本类型…

Navicat Premium 16 安装教程

一、下载地址 网址:https://pan.baidu.com/s/1jGISrlLGjAUYSIfLbm8IBw?pwd0i90 提取码:0i90 二、安装步骤 1.双击运行安装包 2.下一步 3.选择我同意,下一步 4.自定义安装路径,下一步 5.创建快捷方式,下一步 6.安装…

嵌入式学习笔记(61)位操作寄存器时的特殊作用

2.2.1寄存器操作的要求(特定位改变而不影响其他位) (1)ARM是内存与IO统一编址的,ARM中有很多内部外设,SoC中CPU通过向这些内部外设的寄存器写入一些特定的值来操控这个内部外设,进而操控硬件动作。所以可以说&#xf…

服务器中了mkp勒索病毒怎么解决,勒索病毒解密,数据恢复

自从九月份以来,云天数据恢复中心陆续接到很多企业的求助,企业的服务器数据库遭到了mkp勒索病毒的攻击,导致企业的所有业务工作中断无法开展,严重影响了企业的正常运行。经过云天数据恢复中心对其该病毒的详细了解与解密&#xff…

论坛议程 | COSCon'23 开源操作系统(O)

众多开源爱好者翘首期盼的开源盛会:第八届中国开源年会(COSCon23)将于 10月28-29日在四川成都市高新区菁蓉汇举办。本次大会的主题是:“开源:川流不息、山海相映”!各位新老朋友们,欢迎到成都&a…

项目管理中的变数:从不同角度洞悉团队管理的重要性

在项目管理中,人是最重要的变数。每个成员的能力、特长、处事方式和思考方法,以及价值观和沟通方式都各不相同。因此,团队管理是项目管理过程中至关重要的环节。尽管成功的团队管理并不一定能保证项目的成功,但失败的团队管理却必…

台灯显色指数多少好?推荐显色指数优秀的护眼台灯

台灯的显色指数是其非常重要的指标,它可以表示灯光照射到物体身上,物体颜色的真实程度,一般用平均显色指数Ra来表示,Ra值越高,灯光显色能力越强。常见的台灯显色指数最低要求一般是在Ra80以上即可,比较好的…

第十五章 I/O(输入/输出)流

15.1 输入/输出流 流是一组有序的数据序列,可分为输入流和输出流两种。 程序从指向源的输入流中读取源中数据,源可以是文件、网络、压缩包或者其他数据源 输出流的指向是数据要到达的目的地,输出流的目标可以是文件、网络、压缩包、控制台和…

宁波市:做大做强跨境电商 赋能外贸创新发展

近日,全国政协第十四届常委会第二次会议专题研究“构建新发展格局,推进中国式现代化”议题,市政协主席徐宇宁参加“推动高水平对外开放”专题小组讨论,全国政协副主席蒋作君到会听取发言,国家发改委、商务部相关司局负…

AI的Prompt是什么

一.AI的Prompt的作用 在人工智能(AI)中,"Prompt"通常指的是向AI系统提供的输入或指令,用于引导AI进行特定的操作或生成特定的输出。例如,在一个对话型AI系统中,用户输入的问题就是一个prompt&…

设计模式:观察者模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

简介: 观察者模式,它是一种行为型设计模式,它允许一个对象自动通知其依赖者(观察者)状态的变化。当被观察者的状态发生改变时,它会通知所有的观察者对象,使他们能够及时做出响应。在观察者模式…