php模板如何使用,ThinkPHP如何使用模板

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

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

PHP代码

classIndexActionextendsAction{

publicfunctionindex(){

$Blog=newBlogModel();

$list=$Blog->findAll();

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

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

$this->display();

}

}

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

后出现了下面的页面

a4c26d1e5885305701be709a3d33442f.png

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

其实,这个提示信息是 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 文件后,我们再次刷新下浏览器,看到了错误信息

a4c26d1e5885305701be709a3d33442f.png

看了提示的错误信息,原来我们还没有给操作定义模板文件,我们在项目的 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 文字的变化。

a4c26d1e5885305701be709a3d33442f.png

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

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

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

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

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

// 开启调试模式

'DEBUG_MODE'=>true,

修改为

// 关闭调试模式

'DEBUG_MODE'=>false,

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是嵌入式系统

在我们的日常生活中,我们经常使用许多使用嵌入式系统技术设计的电气和电子电路和套件。计算机,手机,平板,笔记本电脑,数字电子系统以及其他电子和电子设备都是使用嵌入式系统设计的。 什么是嵌入式系统?将硬…

面向数据科学家的实用统计学_数据科学家必知的统计数据

面向数据科学家的实用统计学Beginners usually ignore most foundational statistical knowledge. To understand different models, and various techniques better, these concepts are essential. These work as baseline knowledge for various concepts involved in data …

suse安装php,SUSE下安装LAMP

安装Apache可以看到编译安装Apache出错,rpm包安装gcc (首先要安装GCC)makemake install修改apache端口cd /home/sxit/apache2vi conf/httpd.confListen 8000启动 apache/home/root/apache2/bin/apachectl start(stop restart)http://localhost:8000安装一下PHP开发…

自己动手写事件总线(EventBus)

2019独角兽企业重金招聘Python工程师标准>>> 本文由云社区发表 事件总线核心逻辑的实现。 <!--more--> EventBus的作用 Android中存在各种通信场景&#xff0c;如Activity之间的跳转&#xff0c;Activity与Fragment以及其他组件之间的交互&#xff0c;以及在某…

viz::viz3d报错_我可以在Excel中获得该Viz吗?

viz::viz3d报错Have you ever found yourself in the following situation?您是否遇到以下情况&#xff1f; Your team has been preparing and working tireless hours to create and showcase the end product — an interactive visual dashboard. It’s a culmination of…

java 添加用户 数据库,跟屌丝学DB2 第二课 建立数据库以及添加用户

在安装DB2 之后&#xff0c;就可以在 DB2 环境中创建自己的数据库。首先考虑数据库应该使用哪个实例。实例(instance) 提供一个由数据库管理配置(DBM CFG)文件控制的逻辑层&#xff0c;可以在这里将多个数据库分组在一起。DBM CFG 文件包含一组 DBM CFG 参数&#xff0c;可以使…

iphone视频教程

公开课介绍 本课程共28集 翻译至第15集 网易正在翻译16-28集 敬请关注 返回公开课首页 一键分享&#xff1a;  网易微博开心网豆瓣网新浪微博搜狐微博腾讯微博邮件 讲师介绍 名称&#xff1a;Alan Cannistraro 课程介绍 如果你对iPhone Development有兴趣&#xff0c;以下是入…

在Python中有效使用JSON的4个技巧

Python has two data types that, together, form the perfect tool for working with JSON: dictionaries and lists. Lets explore how to:Python有两种数据类型&#xff0c;它们一起构成了使用JSON的理想工具&#xff1a; 字典和列表 。 让我们探索如何&#xff1a; load a…

Vlan中Trunk接口配置

Vlan中Trunk接口配置 参考文献&#xff1a;HCNA网络技术实验指南 模拟器&#xff1a;eNSP 实验环境&#xff1a; 实验目的&#xff1a;掌握Trunk端口配置 掌握Trunk端口允许所有Vlan配置方法 掌握Trunk端口允许特定Vlan配置方法 实验拓扑&#xff1a; 实验IP地址 &#xff1a;…

django中的admin组件

Admin简介&#xff1a; Admin:是django的后台 管理的wed版本 我们现在models.py文件里面建几张表&#xff1a; class Author(models.Model):nid models.AutoField(primary_keyTrue)namemodels.CharField( max_length32)agemodels.IntegerField()# 与AuthorDetail建立一对一的关…

虚拟主机创建虚拟lan_创建虚拟背景应用

虚拟主机创建虚拟lanThis is the Part 2 of the MediaPipe Series I am writing.这是我正在编写的MediaPipe系列的第2部分。 Previously, we saw how to get started with MediaPipe and use it with your own tflite model. If you haven’t read it yet, check it out here.…

.net程序员安全注意代码及服务器配置

概述 本人.net架构师&#xff0c;软件行业为金融资讯以及股票交易类的软件产品设计开发。由于长时间被黑客攻击以及骚扰。从事高量客户访问的服务器解决架构设计以及程序员编写指导工作。特此总结一些.net程序员在代码编写安全以及服务器设置安全常用到的知识。希望能给对大家…

接口测试框架2

现在市面上做接口测试的工具很多&#xff0c;比如Postman&#xff0c;soapUI, JMeter, Python unittest等等&#xff0c;各种不同的测试工具拥有不同的特色。但市面上的接口测试工具都存在一个问题就是无法完全吻合的去适用没一个项目&#xff0c;比如数据的处理&#xff0c;加…

python 传不定量参数_Python中的定量金融

python 传不定量参数The first quantitative class for vanilla finance and quantitative finance majors alike has to do with the time value of money. Essentially, it’s a semester-long course driving notions like $100 today is worth more than $100 a year from …

雷军宣布红米 Redmi 品牌独立,这对小米意味着什么?

雷锋网消息&#xff0c;1 月 3 日&#xff0c;小米公司宣布&#xff0c;将在 1 月 10 日召开全新独立品牌红米 Redmi 发布会。从小米公布的海报来看&#xff0c;Redmi 品牌标识出现的倒影中&#xff0c;有 4800 的字样&#xff0c;这很容易让人联想起此前小米总裁林斌所宣布的 …

JAVA的rotate怎么用,java如何利用rotate旋转图片_如何在Java中旋转图形

I have drawn some Graphics in a JPanel, like circles, rectangles, etc.But I want to draw some Graphics rotated a specific degree amount, like a rotated ellipse. What should I do?解决方案If you are using plain Graphics, cast to Graphics2D first:Graphics2D …

贝叶斯 朴素贝叶斯_手动执行贝叶斯分析

贝叶斯 朴素贝叶斯介绍 (Introduction) Bayesian analysis offers the possibility to get more insights from your data compared to the pure frequentist approach. In this post, I will walk you through a real life example of how a Bayesian analysis can be perform…

西工大java实验报告给,西工大数字集成电路实验 实验课6 加法器的设计

西工大数字集成电路实验练习六 加法器的设计一、使用与非门(NAND)、或非门(NOR)、非门(INV)等布尔逻辑器件实现下面的设计。1、仿照下图的全加器&#xff0c;实现一个N位的减法器。要求仿照图1画出N位减法器的结构。ABABABAB0123图1 四位逐位进位加法器的结构2、根据自己构造的…

DS二叉树--二叉树之数组存储

二叉树可以采用数组的方法进行存储&#xff0c;把数组中的数据依次自上而下,自左至右存储到二叉树结点中&#xff0c;一般二叉树与完全二叉树对比&#xff0c;比完全二叉树缺少的结点就在数组中用0来表示。&#xff0c;如下图所示 从上图可以看出&#xff0c;右边的是一颗普通的…

VS IIS Express 支持局域网访问

使用Visual Studio开发Web网页的时候有这样的情况&#xff1a;想要在调试模式下让局域网的其他设备进行访问&#xff0c;以便进行测试。虽然可以部署到服务器中&#xff0c;但是却无法进行调试&#xff0c;就算是注入进程进行调试也是无法达到自己的需求&#xff1b;所以只能在…