ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器

上一篇:ThinkPHP学习(一) Windows下Nginx+PHP5+ThinkPHP_3.2.1的安装与配置

ThinkPHP的目录结构

回顾上一篇的安装目录:

ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器_第1张图片

目录对应关系

F:\\PHP
├─index.php 入口文件
├─README.md README文件
├─Application 应用目录
├─Public 资源文件目录
└─ThinkPHP 框架目录


thinkphp的目录结构
ThinkPHP的目录结构非常清晰和容易部署。大致的目录结构如下,以项目为基础进行部署。

┎━ThinkPHP框架系统目录
┃┝ThinkPHP.php系统公共文件
┃┝Common公共文件目录
┃┝Tpl框架系统模版目录
┃┝Lang系统语言包目录
┃┝PlugIns公共插件目录
┃┗Lib系统基类库目录
┃┝Think系统运行库(必须)
┃┝Com扩展类库包(非必须)
┃┗ORG扩展类库包(非必须)

┝━Application 应用目录、项目目录
┃┝index.php项目入口文件(可任意放置)
┃┝Cache模版缓存目录
┃┝Common公共文件目录(非必须)
┃┝Conf项目配置目录
┃┝Data项目数据目录
┃┝Html静态文件目录(非必须)
┃┝PlugIns插件目录(非必须)
┃┝Tpl模版文件目录
┃┝Lang语言包目录(非必须)
┃┝Logs日志文件目录
┃┝Temp数据缓存目录
┃┗Lib应用类库目录
┃┝Action控制器(模块)类目录
┃┝ModelModel类文件目录
┃…下面的应用目录可根据需要选择和定义
┃┝Exception异常类库目录
┃┝Common公共应用类目录
┃┗Help助手类目录

┃…更多项目目录(和App目录类似,每个项目采用独立目录,便于部署)

┝━Public网站公共目录(多项目公用)
┃┝JsJS类库目录(建议)
┃┝Images公共图像目录(建议)
┃┗Uploads公共上传目录(建议)


我的“F:\PHP\Application”目录下有个“home”目录,这是ThinkPHP自动生成的一个控制器,

主要文件是“F:\PHP\Application\Home\Controller\IndexController.class.php”,文件内容如下:

show('

:)

欢迎使用 ThinkPHP

','utf-8'); } }

在地址栏输入“http://localhost/index.php”,回车,看到的内容,就是这个文件中“Index”函数中的内容。

访问规则

“home”目录下的控制器举例,您可以通过以下URL地址访问:

http://localhost/index.php

http://localhost/index.php/Home

http://localhost/index.php/Home/Index

http://localhost/index.php/Home/Index/Index

创建第一个控制器

在“F:\PHP\Application”目录下新建一个目录“Index”,偷个赖,把“F:\PHP\Application\Home”目录下的内容都复制

到“F:\PHP\Application\Index”目录下,打开“F:\PHP\Application\Index\Controller\IndexController.class.php”文件,

为了确定访问的确实是我们新加的内容,在“Index”函数中添加点东西,代码如下:

show('//phpinfo();
'); $this->show('

:)

欢迎使用 ThinkPHP aaaa

','utf-8'); $this->show('function index()
'); } }
试试通过以下URL地址访问吧:
http://localhost/index.php/Index

http://localhost/index.php/Index/Index

http://localhost/index.php/Index/Index/Index

修改惯例配置

ThinkPHP的默认模块名称是“Home”,也就是说如果你在浏览器地址栏中输入“http://localhost/index.php”的话,默认访问的是“http://localhost/index.php/Home”。

修改方法:用文本编辑工具打开“F:\PHP\ThinkPHP\Conf\convention.php”文件,

修改第44行为:'DEFAULT_MODULE' => 'Index', // 默认模块

注意:应用的目录只能是首字母大写后面全部小写,使用“WorkOvertime”结果就出现无法加载控制器的情况!改为“Workovertime”之后,还需要关闭之前的窗口,重新打开一个浏览器窗口访问才能正常!

下一篇:ThinkPHP学习(三)配置PHP5支持MySQL,连接MySQL数据库

你可能感兴趣的:(ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器)