thinkphp笔记三.docx

上传人:b****3 文档编号:27472089 上传时间:2023-07-01 格式:DOCX 页数:18 大小:267.06KB
下载 相关 举报
thinkphp笔记三.docx_第1页
第1页 / 共18页
thinkphp笔记三.docx_第2页
第2页 / 共18页
thinkphp笔记三.docx_第3页
第3页 / 共18页
thinkphp笔记三.docx_第4页
第4页 / 共18页
thinkphp笔记三.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

thinkphp笔记三.docx

《thinkphp笔记三.docx》由会员分享,可在线阅读,更多相关《thinkphp笔记三.docx(18页珍藏版)》请在冰豆网上搜索。

thinkphp笔记三.docx

thinkphp笔记三

一、视图

视图分为两部分:

1)view类

2)模板文件

1、模板定义

●默认的模板文件定义规则:

模板目录/[分组名/]模块名/操作名+模板后缀

模板中的后缀由配置文件中的TMPL_TEMPLATE_SUFFIX选项来决定,可以自己修改

.html

.tpl

.htpl

2、分隔符

●'TMPL_L_DELIM'=>'<{',

●'TMPL_R_DELIM'=>'}>',

3、模板赋值

●$this->assign(“name”,$value);

$array['name'] =‘zhangsan';

$array['email'] =‘zs@';

$array['phone'] =‘12345678';

$this->assign($array);

4、模板输出

●$this->display();

display(‘操作名')

display(‘模块名:

操作名')

display(‘show’,‘utf-8',‘text/xml'); 

5、模板替换

●__PUBLIC__:

当前网站的公共目录

●__APP__:

当前项目的URL地址

●__GROUP__:

当前分组的URL地址

●__URL__:

当前模块的URL地址

●__ACTION__:

当前操作的URL地址

●TMPL_PARSE_STRING:

选项

在tp中的模板中,有这样几个模板常量,它们表示不同含义,那么,在对url获取时可以用到

如果我们想引用一个外部文件,可以使用如:

__PUBLIC__

接下来,我们给页面添加一个css文件

但是,在引用时,我们发现__PUBLIC__表示的是网站的根目录

如:

http:

//localhost/Produc/index.php/admin/student/index

__PUBLIC__是表示http:

//localhost这个目录,这个问题解决?

解决之道:

1)配置虚拟主机

配置host文件

开启虚拟主机文件

配置虚拟主机

重启apache

使用以下url:

现在__PUBLIC__指的是的根下的Public文件夹

2)修改配置文件

6、获取内容

$this->fetch();

二、模板

1、模板注释

●{/*注释内容*/}

●{//注释内容}

模板的注释不会输出到客户端

2、变量输出

1)普通变量

2)数组变量

3)对象变量

Php代码:

Html代码:

3、系统变量

●$Think.server$_SERVER

●$Think.get$_GET

●$Think.post$_POST

●$Think.request$_REQUEST

●$Think.cookie$_COOKIE

●$Think.session$_SESSION

●$Think.config取得配置文件中的数据

合理的使用以上内置变量,可以减少控制器向模板传值的代码:

4、使用函数

●格式

{$name|fn1|fn2=arg1,arg2,###}

5、默认值

{$变量|default="默认值"}

6、运算符

●+{$a+$b}

●-{$ab}

●*{$a*$b}

●/{$a/$b}

●%{$a%$b}

●++{$a++}或 {++$a}

●--{$a--} 或{--$a}

7、内置标签

1)闭合标签


2)开放标签

8、包含文件

在一些网站中,有些部分是公共的,我们把这些公共的部分放在一个网页中,便于其它网页引用,这时,我们使用include标签

●格式:

是基于项目的入口文件位置。

./Tpl/Admin/Public/header.html

传递参数title

[title]

这样引入文件,路径过长,不方便,怎么解决?

操作名” title="Think”/>

9、导入文件

导入资源文件js、css

●格式:

用于引入js文件

用于引入css文件

用于引用入js或css文件

●格式:

file(必须):

资源文件

type(可选):

资源文件类型,默认为js

起始路径是网站的Public(__PUBLIC__)目录

采用命名空间方式

10、volist标签

用于遍历数组

{$vo.id}

{$vo.name}

●name(必须):

要遍历的数组变量

●id(必须):

当前数组元素

●offset:

要输出数据的偏移量、从0开始计算

●length:

输出数据的长度,需要指定offset

●key:

循环索引从1开始计算,默认值是i

11、foreach标签

用于遍历数组

{$vo.id}

{$vo.name}

Name:

要遍历的数组名称

Item:

将遍历到的元素保存到指定的变量中

12、for标签

{$i}

属性:

●start(必须):

循环变量开始值

●end(必须):

循环变量结束值-1

●name(可选):

循环变量名,默认值为i

●step(可选):

步进值,默认值为1

13、switch标签

输出内容1

输出内容2

默认情况

14、EMPTY标签

name为空值

15、assign标签

Name:

变量名

Value:

变量值

16、if标签

●if

●elseif

●else

●格式:

value1

value2

value3

●eq或者equal:

等于

●neq或者notequal:

不等于

●gt:

大于

●egt:

大于等于

●lt:

小于

●elt:

小于等于

●heq:

恒等于

●nheq:

不恒等于

17、使用php代码

在tp中,模里面里允许写php代码

共有两种形式:

echo“hello”;

phpecho“think”;?

>

建议少用

TMPL_DENY_PHP:

在配置文件中设置此选项为true,可以禁止第二种形式

'TMPL_DENY_PHP'=>true,

三、实用项

1、session应用

登录、用户身份信息保存、购物车

在tp中,sesson机制是默认开启的

如果你的项目中没有用到session,那么我们需要在配置文件中将session关闭

在配置文件中,有一个选项

SESSION_AUTO_START

将它设置为false,表示关闭session自动启动

●session('name','value'); 创建session、并且赋值

●$value=session('name');取得session数据

●session('name',null);删除指定的session

●session(null);删除所有session

●session('?

name');判断某个session是否存在布尔型

2、cookie

●cookie('name','value'); 

●cookie('name','value',3600);

●$value=cookie('name');

●cookie('name',null);

●cookie(null);

3、验证码

定义生成验证码的方法:

在html中,使用img标签进行引用

如何进行验证?

Image类创建的验证码的值会保存到session中,默认名称是verify,但是这个值是经过MD5加密之后,所以,我们要把用户输入的验证码进行加密,再进行比较。

代码如下:

4、数据分页

●$User = M(“User”);

●$count =$User->count();

●$Page =newPage($count,25);

●$show =$Page->show();

●$list=$User->limit($Page-firstRow.','.$Page->listRows)->select();

●$this->assign('list',$list);

● $this->assign('page',$show);

●$this->display();

在page类中,有一个方法叫setConfig,

●header

●Prev

●next

●first

●last

●$page->setConfig('header','个会员');

模板代码:

5、多表连接

类别表

Id分类名

商品表

Id分类id商品名商品价格

1、

Select*from表1,表2where表1.id=表2.sid

2、

Leftjoin、rightjoin

在tp中,实现表连接有两种方法:

1)table:

主要实现第一种表连接

2)join:

主要实现第二种表连接

3、table连接

●$model->table(‘table1t1,tablet2’)

->where(‘t1.id=t2.sid’)

->select();

查询每种商品名称、编号和所属分类

4、join连接

●$model->join(‘t2ont1.sid=t2.id’)

->select();

leftjoin:

左连接默认

rightjoin:

右连接

6、Ajax应用

●Action类提供了ajaxReturn方法用于AJAX调用后返回数据给客户端

●通过配置DEFAULT_AJAX_RETURN进行设置,默认配置采用JSON格式返回数据

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1