thinkphp教程笔记总结Word文件下载.docx
- 文档编号:3796522
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:17
- 大小:22.11KB
thinkphp教程笔记总结Word文件下载.docx
《thinkphp教程笔记总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《thinkphp教程笔记总结Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。
find($id);
//获取单条数据
c.getField(字段名)//获取一个具体的字段值
where('
id=2'
)->
getField('
username'
//ThinkPHP的连贯操作
ThinkPHP3创建数据
对数据的添加Create
$m->
字段名=值
add();
返回值是新增的id号
代码示例:
publicfunctionadd(){
$m=newModel('
$m->
username=$_POST['
];
sex=$_POST['
sex'
$newId=$m->
if($newId>
0){
$this->
success("
Addnewusersuccessfully!
!
"
index);
}else{
$this->
error("
Addnewuserfailed!
}
ThinkPHP3删除数据
delete
(2);
//删除id为2的数据
delete();
//与上面效果相同也是删除id为2的数据
返回值是受影响行数
ThinkPHP3更新数据
$data['
id'
]=1;
]='
ztz2'
;
save($data);
返回值是受影响行
5、ThinkPHP3.1.2查询方式
find只能查询一天记录,select可以查询多条记录
一、普通查询方式
字符串
where("
sex=0andusername='
gege'
find();
数组
$data['
]=0;
where($data)->
注意这种方式默认是and的关系如果使用or关系需要添加数组值$data['
_logic'
or'
二、表达式查询方式
]=array('
lt'
6);
EQ等于
NEQ不等于
GT大于
EGT大于等于
LT小于
ELT小于等于
示例代码:
publicfunctionshow(){
]=array("
LT"
25);
$arr=$m->
var_dump($arr);
display();
LIKE模糊查询
like'
'
%ge'
//查询username以ge结尾的user$data['
%ge%'
//查询username包含ge的user$arr=$m->
NOTLIKE//注意not和like中间不能有空格
notlike'
//查询username不包含ge的user$arr=$m->
注意如果一个字段要匹配多个通配符$data['
array('
%2%'
%五%'
),'
and'
//如果没有第三个值默认关系是or关系
BETWEEN
between'
array(5,7));
//SELECT*FROM`tp_user`WHERE((`id`BETWEEN5AND7))
notbetween'
//注意not和between中间一定要有空格
IN
in'
array(4,6,7));
//SELECT*FROM`tp_user`WHERE(`id`IN(4,6,7))$data['
notin'
not和in之间一定要有空格
//SELECT*FROM`tp_user`WHERE(`id`NOTIN(4,6,7))
常用连贯操作
a)where帮助我们设置查询条件
b)order对结果进行排序
order('
iddesc'
order(array('
=>
'
desc'
asc'
))->
c)limit限制结果
limit(2,5)
limit('
2,5'
)
limit(10)//limit(0,10)d)field
d)设置查询字段
field('
usernameasname,id'
field(array('
name'
true)//获取除了id以外的所有字段
e)table
f)group
g)Having
h)补充
i.alias用于给当前数据表定义别名字符串
ii.page用于查询分页内部会转换成limit字符串和数字
iii.join*用于对查询的join支持字符串和数组
iv.union*用于对查询的union支持字符串、数组和对象
v.distinct用于查询的distinct支持布尔值
vi.lock用于数据库的锁机制布尔值
vii.cache用于查询缓存支持多个参数以后在缓存部分再详细描述
viii.relation用于关联查询需要关联模型扩展支持字符串
ix.validate用于数据自动验证数组
x.auto用于数据自动完成数组
xi.filter用于数据过滤字符串
xii.scope*用于命名范围字符串、数组
模板的使用
a)规则
模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html.tpl
更换模板文件的后缀名
修改配置文件:
'
TMPL_TEMPLATE_SUFFIX'
.html'
//更改模板文件后缀名
b)修改模板文件目录层次
TMPL_FILE_DEPR'
_'
//修改模板文件目录层次
c)模板主题
DEFAULT_THEME'
your'
//设置默认模板主题
需要在TPL下面新建一个your文件夹作为模板主题文件
如何动态修改模板主题
1、在后台准备一个功能
修改config.php文件中的默认模板项
2、通过url传递t=主题参数可以修改不同的模板(需三方同时使用)
//设置默认模板主题
TMPL_DETECT_THEME'
true,//自动侦测模板主题
THEME_LIST'
your,my'
//支持的模板主题列表
模板的输出
a)display
1.display中没有参数
2.可以带参数
display(本模块文件夹下的其他模板文件);
display('
index2'
display(其他文件夹下的模板文件);
Public:
error'
//注意仅仅需要在Tpl下有Public文件夹以及其中的error.html即可不需要一定有Public模块
display(其他主题下的文件夹下的模板文件);
//需要开启主题支持
my:
Index:
index'
display(一个url路径);
./Public/error.html'
utf-8'
text/xml'
//参数二为制定编码,
参数三为模版的输出类型。
show($content);
//参数也可以为:
‘html代码’
3.fetch方法获得模板文件中的内容以字符串形式返回$content=$this->
fetch('
4.show方法不需要模板文件可以直接输出模板内容
$content=$this->
dump($content);
$content=str_replace('
h1'
i'
$content);
模版赋值
1、$this->
assign(data,梁辉健);
2、$this->
name=”梁辉健”;
模版替换
a)__PUBLIC__会被替换成当前网站的公共目录通常是/Public/
b)__ROOT__会替换成当前网站的地址不含域名
c)__APP__会替换成当前项目的URL地址不含域名
d)__GROUP__会替换成当前分组的URL地址不含域名
e)__URL__会替换成当前模块的URL地址不含域名
f)__ACTION__会替换成当前操作的URL地址不含域名
变量输出
1、标量输出
2、数组输出
{$name[1]}
{$name[‘k2’]}/{4name.k1}:
关联数组
3、对象输出
{$name:
k}/{$name->
k}“name”为对象,”k”为类里面调用的函数。
系统变量:
使用函数:
{$name|strtoupper}编译后
<
?
phpecho(strtoupper($name));
?
>
{$name|date='
y/m/dH:
i:
s'
###}编译后
phpecho(date('
$name));
assign('
:
若是没有给name分配变量则可以在模版文件设置:
{$name|default="
这里是默认值"
}
编译后
<
phpecho(($name)?
($name):
运算符:
+-*/++--:
{$name+1}
导入jscss文件
方法一:
<
linkrel="
stylesheet"
type="
text/css"
href="
__PUBLIC__/Css/basic.css"
/>
scriptsrc="
__PUBLIC__/Js/Test.js"
text/javascript"
/script>
方法二:
importtype="
js"
file="
Js/test"
若是Js/Css文件不是放在Public文件目录下,可以增加一个路径参数
basepath=”./Other”/>
方法三:
loadfile=”__PUBLIC__/Css/basic.css”/>
(可自动检测文件属性)
分支结构
1、If结构
ifcondition="
$agelt18"
未成年
elseifcondition="
$ageeq18"
/>
青春年少
else/>
成年
/if>
:
gt
lt
==:
eq
=:
elt
egt
neq
===:
heq
nheq
2、switch结构
switchname="
number"
casevalue="
1"
一个和尚挑水吃<
/case>
2"
两个和尚抬水吃<
3"
三个和尚没水吃<
default/>
这里是默认值
/switch>
循环结构
1、for
tableborder="
width="
500"
forstart="
10"
end="
00"
name="
j"
step="
-2"
comparison="
gt"
tr>
td>
{$j}<
/td>
aaa<
/tr>
/
/for>
/table>
注:
开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。
comparison的默认值是lt;
;
name的默认值是i,步进值的默认值是1
2、Volist(遍历数组--多位,数值数组)
volistname="
list"
id="
v"
{$v.username}<
/br>
/volist>
3、Foreach(遍历数组,一维)
foreachname="
item="
key='
k'
{$k}---------{$v}<
/foreach>
特殊标签
1、比较标签
eq或者equal
等于
neq或者notequal
不等于
gt
大于
egt
大于等于
lt
小于
elt
小于等于
heq
恒等于
nheq
不恒等于
例:
eqname=”0”value=”10”>
输出10<
/else>
输出不是十<
/eq>
2、范围标签
In:
(notin)
inname="
n"
value="
9,10,11,12"
在里面<
不在里面<
/in>
Between:
(notbetween)
1,10"
也可以直接使用range标签,替换in和notin的用法:
rangename="
id"
1,2,3"
in"
输出内容1<
/range>
其中type属性的值可以用in或者notin。
3、Present(notpresnt):
可以使用present标签来判断模板变量是否已经赋值
presentname="
name"
name已经赋值<
/present>
4、Empty(notempty):
可以使用empty标签判断模板变量是否为空
emptyname="
name为空值<
/empty>
5、Defined:
判断常量是否已经定义
6、Define:
可以使用define标签进行常量定义
7、Assign:
模版中变量赋值
assignname="
var"
123"
其他标签的使用
1、在模版中直接使用PHP代码(不建议使用)
php>
echo"
我是梁辉健"
/php>
2、修改定界符
{$name}=>
{$name}>
避免与js冲突
一、模版的包含
格式:
includefile="
完整模板文件名"
read"
header"
blue:
User:
$tplName"
title="
ThinkPHP框架"
keywords="
开源WEB开发框架"
在模版中变量[$变量名]接收
includefile='
file1,file2'
2、模版渲染
1、自动开启模版渲染,设置配置文件
‘{__NOLAYOUT__}’=>
’true’,//开启模版渲染模式
准备一个模版渲染页面,在页面使用{__CONTENT__}接收具体页面的内容
如果在某个具体模版中不希望使用喧嚷模版,可以在页首添加{__NOLAYOUT__}
2、不开启自动模版渲染可以在每一个具体页面的页首添加
layoutname=”layout”>
3、使用技巧
在渲染模版文件中
{__CONTENT__}
footer"
3、模版的继承
blockname="
title"
title>
网站标题<
/title>
/block>
block标签必须指定name属性来标识当前区块的名称,这个标识在当前模板中应该是唯一的,block标签中可以包含任何模板内容,包括其他标签和变量,例如:
{$web_title}<
你甚至还可以在区块中加载外部文件:
include"
需要在子模版里面加入代码:
extendname="
base"
1、空模块和空操作
1、空操作
publicfunction_empty($name){
show('
$name不存在<
ahref="
__APP__/Index/index"
返回首页<
/a>
}
2、空模块
classEmptyActionextendsAction{
publicfunctionindex(){
$name=MODEL_NAME;
City:
$name'
p>
该方法不存在<
/p>
2、前置操作和后置操作
1、前置操作:
__before__操作名
2、后置操作:
__after__操作名
1、URL规则
1、默认是区分大小写的
2、如果不想区分大小写可以改配置文件
URL_CASE_INSENSITIVE'
true'
//URL不区分大小写
3、如果模块名为UserGroupAction,那么url找模块就必须写成
http:
//localhost/ThinkPHP4/index.php/user_group/index
4、如果'
false'
,那么url也可以写成
//localhost/ThinkPHP4/index.php/UserGroup/index
2、伪静态
URL_HTML_SUFFIX'
shtml|html|xml'
//限制伪静态的后缀
3、URL路由
1、启动路由
要在配置文件中开启路由支持
2、使用路由
URL_ROUTER_ON'
URL_ROUTE_RULES'
array(
year/:
year\d/:
mouth\d/:
date\d'
Index/index'
),
1)规则表达式配置路由
my'
//静态地址路由
:
id/:
num'
//动态地址路由
my/:
//动态和静态地址路由
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- thinkphp 教程 笔记 总结