第十四章:第2节thinkPHP框架的目录结构

更新于:2019-10-28 21:23:01


目前5.0系列的最新版本是5.0.13,我们就以这个版本做教程。可能大家在看到这个教程时,版本已远高于5.0.13。不管版本多高,只要是在5.0版本上做的升级就可以看本教程,除非TP框架又做了重构。TP3.0版本的与5.0版本的就不一样,因为5.0版本是新重构的框架,不是在3.0版本基础上做的升级。


大家可选择去《thinkPHP官网》下载程序压缩包,也可以直接从本站下载《5.0.13版本压缩包》。

备注:5.0.13版本有漏洞。《thinkPHP5远程执行命令漏洞:通过路由即可拿到webshell》、《thinkPHP5远程执行命令漏洞:\think\Request method方法漏洞


TP框架目录:


把压缩包解压到一个目录里,有以下文件:


1.png


解释下这几个文件和目录:


楠神标记了两个文件目录:“application”和“public”,我们使用TP框架,以后只用到这两个目录


application”是应用目录,我们写的PHP文件全部放到这个目录里。


public”是网站根目录,图片、CSS文件、JS文件、包括用户上传的文件,如果文件需要通过URL访问到,也要放到这个目录里。


extend”扩展类库目录;

vendor”第三方类库目录;

thinkphp”TP框架核心代码目录;


这三个文件大家不要动,保持原样,尽量不去修改。


runtime”运行时的目录,这个目录有什么作用?


当程序运行时,这个目录会产生三个子文件目录:


1.png


程序的缓存数据以文件的形式存储,它就存在“runtime”的“cache”目录中;

程序的PHP日志文件存在“log”目录中;

把HTML视图文件临时生成的PHP文件(模板缓存)存在“temp”目录里。


“runtime”目录里的文件由TP框架在操作,里面的文件时时变化。在Linux服务器上,需要保证Apache等服务器软件对这个目录有读写的权限。


“runtime”目录的文件我们可以随便删除的。

删除掉“cache”目录,等于把网站的数据缓存清空

删除掉“temp”目录,等于把网站的模板缓存清空

如果PHP程序出错了,在这里可以查找有关的错误日志,所以不建议删掉“log”目录。当我们开发一套程序,缺少测试,无法确保绝对无bug的情况下,可以每天都来log目录看下有没有错误日志生成,及时发现问题并纠正。


在TP框架的学习手册中,也有对目录结构介绍:


1.png



我们要使用TP框架做项目,首先得了解怎么用TP框架!下节楠神先从“public”目录开始,全面解读怎么用TP框架开发程序。


额外说明:


不知大家看TP手册看得怎样,是不是感觉东西特别多,初学者什么都看不懂吧?别说是初学的朋友了,连楠神经常用TP框架的人有好多功能也都没用过。


TP框架给我们提供的功能很丰富,但实际应用中,楠神倒觉得没必要全部用到。我用TP框架时,核心的功能会用到的,可有些地方我喜欢自己去写拓展,不爱使用TP框架提供的,因为懒得去研究它,有些地方的代码自己写感觉更好。


使用框架是为了给编程带来方便,不能为了使用而使用,没必要有什么功能就得用什么功能。框架的东西也不一定是好用的,我们要“去其糟粕,留其精华”。