到目前为止,我们只是使用了控制器和模型,还没有接触视图,下面来给上面的应用添加视图模板。

首先我们修改下 Action 的 index 操作方法,添加模板赋值和渲染模板操作。

PHP代码

classIndexActionextendsAction{

publicfunctionindex(){

$Blog=newBlogModel();

$list=$Blog->findAll();

$this->assign('title','ThinkPHP 示例');

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

$this->display();

}

}

现在我们在浏览器里面输入 http://localhost/myApp/

后出现了下面的页面

出现上面的错误,可是觉得莫名其妙,因为没有说明任何导致错误的原因。

其实,这个提示信息是 ThinkPHP 在部署模式下面的默认提示信息,没有提示具体的错误原因是为了

避免把一些不必要的信息暴露给用户,从而导致一些安全隐患,在开发过程中,我们只需要开启调试

模式就可以看到具体的错误信息了。

下面,我们修改下项目配置文件,加上调试模式的配置:

PHP代码

returnarray(

// 定义数据库连接信息

'DB_TYPE'=>'mysql',

'DB_HOST'=>'localhost',

'DB_NAME'=>'thinkphp',

'DB_USER'=>'root',

'DB_PWD'=>'',

'DB_PORT'=>'3306',

'DB_PREFIX'=>'think_',

// 开启调试模式

'DEBUG_MODE'=>true,

删除 Temp 目录下面的~app.php 文件后,我们再次刷新下浏览器,看到了错误信息

看了提示的错误信息,原来我们还没有给操作定义模板文件,我们在项目的 Tpl\default\Index\下面创建一个

index.html 模板文件,内容如下:

XML/HTML代码

{$title}title>

head>

[ {$vo.title} ] {$vo.content}

volist>

body>

html>

IndexAction 类的index 方法里面使用

PHP代码

$this->display();

输出页面的时候,会自动读取 Tpl\default\Index\index.html 模板文件来输出。

现在我们再次在浏览器里面输入 http://localhost/myApp/

就可以看到动态数据的输出了,注意看页面的 Title 文字的变化。

我们看到了页面输出了数据库的两条记录,并且下面还显示了很多的运行时间信息,这个是开启调试

模式之后系统默认的显示信息,包括了页面执行时间、数据库操作次数、内存使用情况 当前加载的类

库数量,以及页面执行的 SQL 语句和错误记录等等。这些信息是能够给开发调试带来很大的帮助,而

且页面 Trace 信息是可以定制显示的,你现在看到的是系统默认的显示项目。

OK,假设我们项目开发完成了,需要正式部署到服务器了,建议关闭调试模式,配置文件中原来的

// 开启调试模式

'DEBUG_MODE'=>true,

修改为

// 关闭调试模式

'DEBUG_MODE'=>false,

现在,我们重新刷新下浏览器,就会看到下面的页面了,显然干净了很多。

到此为止,我们已经完成了一个简单的数据库读取的例子,也带您领略了使用 ThinkPHP 开发的大致过程。当然,ThinkPHP

的殿堂还有更多更好的功能在等着你!

php模板如何使用,ThinkPHP如何使用模板相关推荐

  1. Thinkphp怎样修改模板标签定界符

    为什么80%的码农都做不了架构师?>>>    大家都知道在thinkphp里面,我们是通过在控制器里面给模板分配变量,然后在模板里面通过标签的方式来获取变量,假设有一个变量为$na ...

  2. tp5模板 使用php代码,thinkPHP的Html模板标签使用方法

    这篇文章主要介绍了关于thinkPHP的Html模板标签使用方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 如果我们现在需要一个select下拉菜单项,那么在ThinkPHP中我们 ...

  3. fastadmin html模板,使用fastadmin的页面异常模板

    1.效果图 2.修改tp异常页面的模板文件( /thinkphp/tpl/think_exception.tpl ),将文件中的内容全部替换成下面的内容然后保存即可(若发生报错,请注意语言包问题) $ ...

  4. html模板引擎 字符串长度,Web前端模板引擎の字符串模板

    这是一个系列文章,将会介绍目前Web前端领域里用到的三种模板引擎技术,它们分别是: 基于字符串的模板 基于Dom操作的模板 基于虚拟Dom的模板 本文是这个系列的第一篇,着重介绍基于字符串的模板引擎的 ...

  5. html模板是干嘛的,html模板有什么用

    html模板渲染引擎有什么作用 哈哈,这简单.你定义好一个模板.最简单的例子,例如 {$what} 这只是一个模板.{$what}是数据.此时不知道数据是什么. 渲染引擎的作用就是将"数据& ...

  6. C++ Primer 5th笔记(chap 16 模板和泛型编程)重载与模板

    1. 定义 函数模板可以被另一个模板或一个普通非模板函数重载: 名字相同的函数必须具有不同数量或类型的参数 1.1 函数模板匹配因素 对于一个调用, 其候选函数包括所有模板实参推断成功的函数模板实例. ...

  7. php cms 的模板修改,phpcms v9后台登陆模板修改方法和程序版本更新提示修改方法...

    Phpcms V9后台登陆及版本更新提示的自定义修改 一.Phpcms V9后台登陆模板修改方法 1. 找到登陆模板文件phpcms/modules/admin/emplates/login.tpl: ...

  8. 类模板,多种类型的类模板,自定义类模板,类模板的默认类型,数组的模板实现,友元和类模板,友元函数,类模板与静态变量,类模板与普通类之间互相继承,类模板作为模板参数,类嵌套,类模板嵌套,类包装器

     1.第一个最简单的类模板案例 #include "mainwindow.h" #include <QApplication> #include <QPush ...

  9. 制作模板_年会邀请函制作免费模板

    点击上方蓝字关注我们在线制作 作为一年一次鼓舞士气,增强企业凝聚力的年会,可以让员工更好的在心理上和精神上与企业的核心价值观联系起来,也为企业来年带下一个好的基础. 年会是每年一次的重要会议,跟随着时 ...

最新文章

  1. linux ptrace反调试之抢占ptrace
  2. BZOJ 2724蒲公英 (分块) 【内有块大小证明】
  3. VC++使用ADO连接SQL Server数据库
  4. leetcode算法题01
  5. oracle dg状态查询,oracle dg状态检查及相关命令
  6. 通过Java Api与HBase交互(转)
  7. 怎样编写测试类测试分支_编写干净的测试-被认为有害的新内容
  8. 的图片怎么循环渲染_十分钟教你做个炫酷的图片切换过度效果
  9. CentOS7添加自定义系统服务
  10. python解包wxapkg_微信小程序wxapkg解包器c++版(免装py环境 绿色90k)
  11. 【JavaScript】回流(reflow)与重绘(repaint)
  12. 电子通信计算机行业分类,电子信息产业行业分类目录
  13. it运维工程师的工作是做什么的?累吗?
  14. 微信公众平台服务号配置JS接口安全域名
  15. ABAP BDC返回成功但是未创建单据或没有产生相应效果
  16. 清华大学计算机博后,科学网—我在清华做博士后的收获 - 喻海良的博文
  17. 写一个判素数的函数,在主函数输入一个整数,输出是否为素数的信息
  18. 英语四级真题作文 计算机,2017年6月英语四级作文真题及范文:卖电脑
  19. 基于javafx和虹软ArcFace的高校新生人脸录入与识别系统
  20. java随堂练习03,练习前++和后++得区别,以及三元运算符。

热门文章

  1. html css a标签的应用
  2. 多重继承之虚继承(主要是为了解决产生的数据冗余问题)
  3. 函数read、write、lseek
  4. Kafka的精髓全写这本“限量笔记”里了
  5. 面试加分项!Android权限处理,手慢无
  6. tableau地图城市数据_Tableau 地图 | 无法识别的城市
  7. readonly的用法
  8. POJ1204 Word Puzzles
  9. 【EasyNetQ】- 使用Future Publish调度事件
  10. 安装了多个Oracle11g的客户端,哪个客户端的tnsnames.ora会起作用?