thinkphp学习笔记Word格式文档下载.docx
- 文档编号:21339255
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:9
- 大小:19.78KB
thinkphp学习笔记Word格式文档下载.docx
《thinkphp学习笔记Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《thinkphp学习笔记Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
IndexAction();
//实例化IndexAction
8.
echo
$index->
myHello();
//调用myHello()方法
9.
}
10.}
11.?
>
那么,如果我们用A函数,怎么写呢?
2.class
3.
4.
$index=A("
Index"
8.}
9.?
呵呵,少写很多代码吧。
当然,这还不是最偷懒的方法,请看下边的R()函数,就知道什么是偷懒的极致了。
来源:
(-Thinkphp
单字母内部函数
ADSLCFI_lynne_新浪博客
2:
B函数
这是随着行为应运而生的新生函数,可以执行某个行为,例如B('
app_begin'
就是在项目开始之前,执行这个行为定义的所有函数,支持2个参数,第二个参数支持需要接受一个数组,例如B('
array("
name"
=&
gt;
"
tdweb"
"
time"
=>
time()));
这样。
3:
C函数
获取配置值,这个大家用的应该不少。
虽然使用方便,但是C函数无疑是一个非常强大的函数。
获取值:
获取所有设置:
C();
不传递任何参数,返回一个包含所有设置的数组。
获取指定配置:
C('
URL_MODEL'
)这样就能得到URL_MODEL的配置信息
获取指定二维数组配置:
C("
array.name"
),这样就返回数组array下的key为name所对应的值
设置值:
为二维数组赋值C("
value"
),原理同上(获取array.name的值),后边的value是值面向
批量赋值:
$test=array("
URL_MODEL"
1,"
THIN_MODEL"
true"
C($test);
这样直接将数组里的值赋值了
判断是否赋值:
)这样前边加个"
,如果已经赋值,则返回true
需要说明的是,这里虽然更改了配置的值,但是仅仅是这个页面做了更改,到下个页面就不起作用了,如果想改就永久更改,那么需要配合F函数,将配置文件写入config.php才行。
4:
D快速创建模型数据对象
先定义好模型类,如UserModel,然后就可以用D()函数对数据进行操作了。
例如:
先在"
你的项目"
\Lib\Model下建立一个名为UserModel.class.php的PHP脚本,内容如下:
classUserModelextendsModel{}
然后,无需增加任何属性和方法,就可以进行如下操作:
$User=D("
//实例化User对象,User是你在数据库建立的一个名为"
前缀_user"
的数据表
也可以用$User=newUserModel()代替,进行实例化对象的操作。
实例化之后,就可以对数据进行增删查改等一系列操作了,如:
$User->
find
(1);
//查找主键为1的记录
5.S快速操作缓存方法
ThinkPHP把各种缓存方式都抽象成统一的缓存类来调用,而且ThinkPHP把所有的缓存机制统一成一个S方法来进行操作,所以在使用
不同的缓存方式的时候并不需要关注具体的缓存细节。
如:
S('
data'
$Data);
//使用data标识缓存$Data数据
$Data,3600);
//缓存$Data数据3600秒
$Data=S('
//获取缓存数据
name'
null);
//
删除缓存标识name
6.L快速操作语言变量
L方法提供了多语言的支持,可以快速设置和获取语言定义。
L(‘USER_INFO’,’用户信息’);
//设置名称为USER_INFO
的语言变量
L(‘USER_INFO’);
获取USER_INFO的语言变量值
//批量赋值
$array[‘USER_INFO’]
‘用户信息’;
$array[‘ERROR_INFO’]
‘错误信息’;
L($array);
7.C快速操作配置变量
C(‘USER_AUTH_ON’,true);
//设置名称为USER_AUTH_ON
的配置参数
C(‘USER_AUTH_ON’);
//获取USER_AUTH_ON的变量值
同L一样,C也支持批量赋值
注意:
配置参数不区分大小写
此外从1.5版本开始,C方法还支持二维数组的操作
USER.USER_TYPE'
1);
USER.USER_AUTH_ON'
8.F文件数据保存方法
F方法主要用于项目的文件数据的写入、更改和删除,其工作机理和S方法是类似的,区别在于用途不同,数据保存的目录也不同,而且不能指定缓存方式,因为默认就是文件形式保存数据。
F方法使用了var_export方法,所以只能支持简单数据类型,不支持对象的缓存
9:
R函数
还记得我们的A函数吧,如果仅仅想执行某个方法,其实用R函数更方便,刚才的可以替换成PHP代码
$index=R("
myHello"
$index;
Thinkphp验证机制
<
!
DOCTYPEHTMLPUBLIC"
-//W3C//DTDHTML4.0Transitional//EN"
HTML>
HEAD>
metahttp-equiv="
Content-Type"
content="
text/html;
charset=utf-8"
TITLE>
ThinkPHP示例:
表单提交、自动验证和自动填充<
/TITLE>
/HEAD>
BODY>
divclass="
main"
FORMMETHOD=POSTACTION="
__URL__/insert"
TABLEcellpadding=2cellspacing=2>
TR>
<
TDwidth="
12%"
标题:
/TD>
TD>
INPUTTYPE="
text"
NAME="
title"
style="
height:
23px"
class="
largebLeft"
/TR>
邮箱:
email"
TD>
内容:
TEXTAREANAME="
content"
ROWS="
8"
COLS="
25"
/TEXTAREA>
验证码:
verify"
small"
>
imgsrc="
__URL__/verify"
align="
absmiddle"
/>
输入对应的数字<
submit"
button"
value="
提交"
reset"
清空"
HR>
volistname="
list"
id="
vo"
TDstyle="
border-bottom:
1pxdottedsilver"
{$vo.title}<
spanstyle="
color:
gray"
[{$vo.email}{$vo.create_time|date='
Y-m-dH:
i:
s'
###}]<
/span>
TR>
{$vo.content|nl2br}<
/div>
/volist>
/TABLE>
/FORM>
/BODY>
/HTML>
form类:
程序代码
php
classFormModelextendsModel{
//自动验证设置
protected$_validate=array(//这里必须定义为$_validata用来验证
array('
title'
require'
标题必须!
'
1),
email'
邮箱格式错误!
2),
content'
内容必须'
),
verify'
验证码必须!
CheckVerify'
验证码错误'
0,'
callback'
),//callback使用方法验证,前面定义的验证规则是一个当前Model类的方法,这里可能有些不太理解
//那就要看本类的最后一个方法了,现在明白了吧
标题已经存在'
unique'
add'
),//附加验证unique,unique验证是否唯一,系统会根据字段目前的值查询数据库来判断是否存在相同的值
);
/*think的验证机制,省去了不少麻烦非空:
equire邮箱:
email验证码正确:
CheckVerify
array()数组内容array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)
验证条件
EXISTS_TO_VAILIDATE或者0存在字段就验证(默认)
MUST_TO_VALIDATE或者1必须验证
VALUE_TO_VAILIDATE或者2值不为空的时候验证
附加规则配合验证规则使用,包括:
function使用函数验证,前面定义的验证规则是一个函数名
callback使用方法验证,前面定义的验证规则是一个当前Model类的方法
confirm验证表单中的两个字段是否相同,前面定义的验证规则是一个字段名
equal验证是否等于某个值,该值由前面的验证规则定义
in验证是否在某个范围内,前面定义的验证规则必须是一个数组
unique验证是否唯一,系统会根据字段目前的值查询数据库来判断是否存在相同的值
regex使用正则进行验证,表示前面定义的验证规则是一个正则表达式(默认)
*/
//自动填充设置
//由上面推导,下面这个是自动填充字段了,方便明了
protected$_auto=array(//同样这里必须定义为$_auto
status'
1'
ADD'
create_time'
time'
function'
),//这里指明填充使用函数time()
/*
数组因子:
array(填充字段,填充内容,填充条件,附加规则)
填充条件包括:
ADD新增数据的时候处理(默认方式)
Update更新数据的时候处理
ALL所有情况下都进行处理
附加规则包括:
function使用函数
callback回调方法
field用其它字段填充
string字符串(默认方式)
publicfunctionCheckVerify(){
returnmd5($_POST['
])==$_SESSION['
];
}
}
indexaction类:
classIndexActionextendsAction{
//首页
publicfunctionindex(){
$Form=D("
Form"
//创建一个对象
$list=$Form->
top6('
*'
iddesc'
//从数据库中读取最新6条记录,并且安id倒序输出
$this->
assign('
list'
$list);
//把数据传到模板里
display();
//处理表单数据
publicfunctioninsert(){//此方法对应表单的ACTION="
if($Form->
create()){//创建Form数据对象,默认通过表单提交的数据进行创建,为下面写入数据库做准备
$Form->
add();
//新增表单提交的数据,吧上面创建的数据对象提交
redirect();
//返回上一个模块,页面跳转可以说是
}else{
header("
Content-Type:
exit($Form->
getError().'
[<
AHREF="
javascript:
history.back()"
返回<
/A>
]'
//生成验证码
//这个方法没什么好说的,固定格式
publicfunctionverify(){
import("
ORG.Util.Image"
Image:
:
buildImageVerify();
//这里两个冒号是调用静态方法
}
心得:
从think对表单提交过来的数据处理来看,是我以前想都不敢想的简单,数据的验证更是方便
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- thinkphp 学习 笔记