ThinkPHP基础—MVC

ThinkPHP编码

       ThinkPHP采用utf-8编码,这意味着我们的编辑器、数据库等也需要设置uft-8。但是这里一定要注意的是,千万不要用windows自带的记事本打开网站里的任何文件。记事本打开文件后,会自动加上BOM头,严重影响网站,会造成各种未知错误。如果你已用记事本打开过,或者想知道自己的文件中有没有这个东西,最简单的办法是用Notepad++ 打开文件,使用无BOM格式编辑。


ThinkPHP的MVC

       WEB开发中的MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式。

       ThinkPHP是基于M VC设计模式,Tpl文件夹是视图,Lib里的Action文件夹是控制器。首先介绍下页面模板,所谓页面模板就是显示内容的网页。页面模板放在哪里呢?就是在视图里。打开Tpl文件夹,我们需要新建一个Index文件夹,注意大小写。然后在Index文件夹下新建一个index.html页面,这个就是我们将显示的页面。

       再看控制器,进入Lib/Action文件夹,可以看到IndexAction.class.php文件。这个叫做模块,每一个模块就是一个控制器类。

       IndexAction类继承了ThinkPHP的核心类Action,注意命名:模块名+Action,其中模块名开头字母要大写。可以发现,这个模块名就是跟Tpl里文件夹名是对应的。Tpl里有个Admin文件夹,这里就需要AdminAction.class.php文件,Tpl里有个 News文件夹,这里就需要NewsAction.class.php文件。但比如说这里有个EmptyAction.class.php文 件,Tpl里可以没有Empty文件夹。

       其中第三行代码看到IndexAction是继承Action类,Action类是ThinkPHP的核心类。我们以后新建模块的时候都需要继承它。然后就是一个public属性的方法,叫index()。这个index()与模块名Index没有关系。


为什么代码最后没有闭合标签“ ?> ”

       PHP闭合标签“?>”在PHP中对PHP的分析器是可选的。如果使用闭合标签,任何由开发者,用户,或者FTP应用程序插入闭合标签后面的空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。因此,所有的php文件应该省略这个php闭合标签,并插入一段注释来标明这是文件的底部并定位这个文件在这个应用的相对路径。这样有利于你确定该文件已结束而不是被删该的。


ThinkPHP的页面输出

       IndexAction类index()方法中,$this->show();的意思是直接输出show括号里的内容。我们需要输出页面,而不是直接写的内容,所以show()并不常用,这里可删掉。最常用的输出页面是使用$this->display(),注意display()可带参数。比如你在panda()方法里需输出index.html页面,就可以在panda()方法里写$this->display('index')。可以看到display()的参数就是页面名称。如果就是在index()方法里要输出 index.html页面的话,就可以直接写$this->display()而不用加参数,非常方便。如果我们还有个模块叫做 AdminAction.class.php,与之对应的在Tpl里有个文件夹叫Admin,里面有个index.html页面,而我们需要在 IndexAction.class.php中index()方法里输出那个页面,就可以 写$this->display('Admin:index')。$this->display()的其他用法暂不提。

ThinkPHP的页面调试

       ThinkPHP的调试模式与众不同,会牺牲一定的执行效率,带来的方便和除错功能。ThinkPHP开发过程中如果需进行调试工作,可开通调试模式;开启调试模式很简单,只需要在入口文件中增加一行常量定义代码:

<?php

define('APP_DEBUG', true); //开启调试模式

require './ThinkPHP/ThinkPHP.php'; //加载框架入口文件

在完成开发阶段部署到生产环境后,只需要删除调试模式定义代码即可切换到部署模式。

页面Trace:调试模式并不能完全满足我们调试的需要,有时需手动输出一些调试信息。除了本身可借助一些开发工具进行调试外,ThinkPHP还提供了一些内置的调试工具和函数。例如,页面Trace功能就是ThinkPHP提供给开发人员的一个用于开发调试的辅助工具。可实时显示当前页面操作的请求信息、运行情况、SQL执行、错误提示等,并支持自定义显示。页面Trace功能对调试模式和部署模式都有效,不过只能用于有页面输出的情况。但部署模式下,显示的调试信息没有调试模式完整,通常我们建议页面Trace配合调试模式一起使用。要开启页面Trace功能,需要在项目配置文件config.php中设置:

'SHOW_PAGE_TRACE' =>true, // 显示页面Trace信息

该参数默认为关闭,开启后并且你的页面有模板输出的话,页面右下角会显示ThinkPHP的LOGO。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值