首页 > PHP资讯 > PHP培训技术 > 关于ThinkPHP的输出模板

关于ThinkPHP的输出模板

PHP培训技术

关于ThinkPHP的输出模板

1)思维逻辑:

ThinkPHP有自己的一套输出体系,如果说[LibAction]里所做的是C层控制的话,所对应的V层表示则存放在[Tpldefault]文件夹下,也有其约定俗成的命名规则->

1.每一个Action对应一个文件夹;

2.每个处理方法对应一个html页面。

举个例子来说,有一个名为Test的Action,按照命名规则,它必须建在[LibAction],名为TestAction.class.php。Test这个Action内涵有一个处理方法showpage(),那么要想访问这个函数的话,可以通过http://127.0.0.1/myapp2/test/showpage的形式来访问到。

那么,其对应的HTML文件,首先,必须在[Tpldefault]下面建立一个名为test的文件夹,然后在文件夹内建立名为showpage.html的文件。这样的话,在showpage()方法中的结尾处写入

$this->display();

这个方法的话。就会在浏览器输入http://127.0.0.1/myapp2/test/showpage的时候会被自动跳转到[Tpldefualttestshowpage.html]这里。

TestAction.class.php<=>Tpldefualttest

showpage()<=>showpage.html

2)应用:

有人会问了,就算有这个模板,能拿来干嘛用哦?

这也是我起初的疑问。通过学习,得知ThinkPHP又一过人之处,模板中加入了自定义标签。

通过使用自定义标签,可以更方便地制作V层界面,并且避免代码混淆等问题。很好用,非常好用。接下来通过一个例子来介绍一下其最简单,而且应用最广的一个功能---便利数据集

在TestAction.class.php中建立showpage()方法:

/**

+----------------------------------------------------------

*测试模板输出showpage.html

+----------------------------------------------------------

*/

publicfunctionshowpage()

{

//1.传输单个值,用来在显示层上显示。

$value='hello,ThinkPHP';

$this->assign('name',$value);

//2.传输多个值,用来在显示层上显示。

$array=array();

$array['name']='thinkphp';

$array['email']='liu21st@gmail.com';

$array['phone']='12335678';

$this->assign('array',$array);

//3.访问数据库,获取数据库集合,将其在显示层上显示。

$Demo=newModel('demo');//实例化模型类

$list=$Demo->select();//查询数据

$this->assign('list',$list);//模板变量赋值

$this->display();

}

在tpldefualttest下新建一个名为showpage.html的文件

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

ThisisTheShowPage.

测试输出:{$name}

{$vo}

编号:{$vo2.id}

标题:{$vo2.title}

内容:{$vo2.content}

简单说明一下:

1、可以通过$this->assign('Key值',$变量);的形式向V层传值

2、在V层通过{$Key值}的形式访问非数组变量

3、通过的这种形式来遍历数组

4、和所得的结果是一样的。

4.去除“页面Trace信息”

用模板显示后的页面,在最后都回带着标题为页面Trace信息字样的一组文字信息。在开发的时候能有这个东东真是太好了,不过向客户交付时还继续出现就未免尴尬了。

怎么弄没它,很简单,将Confconfig.php文件中的

'APP_DEBUG'=>true,//开启调试模式

注释掉就哦了。

PHP培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持37不支持0