到目前为止,我们只是使用了控制器和模型,还没有接触视图,下面来给上面的应用添加视图模板。
首先我们修改下 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
的殿堂还有更多更好的功能在等着你!