ThinkPHP的目录结构
回顾上一篇的安装目录:
目录对应关系
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”,文件内容如下:
<?php
// 本类由系统自动生成,仅供测试用途
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function Index(){
$this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>!</p></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','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”函数中添加点东西,代码如下:
<?php
namespace Index\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
$this->show('//phpinfo();<br>');
$this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP aaaa</b>!</p></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8');
$this->show('function index()<br>');
}
}
试试通过以下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数据库
分享到:
相关推荐
本文以控制器的用法为主线,通过十讲的内容全面剖析了 ThinkPHP5.0 生命周期中的控制器角色是如何进行获取请求、数据验证、业务处理、异常处理、模板渲染,以及如何进行响应输出和行为扩展,帮助一个新手更快更深入...
thinkphp学习资料大全
ThinkPHP5控制器从入门到精通,书是PDF格式,详细讲述控制器的使用步骤!解压即可,书内讲的是TP5的控制器进阶使用,非常适合TP5有基础的人进阶学习!!!
ThinkPHP5.0控制器从入门到精通
ThinkPHP5控制器从入门到精通
它可以帮你迅速了解和学习thinkphp
thinkphp树型结构下拉
多层控制器的目录结构是这样的: ├─Controller 访问控制器 │ ├─UserController.class.php │ ├─BlogController.class.php │ … ├─Event 事件控制器 │ ├─UserEvent.class.php │ ├─BlogEvent....
网上很多关于thinkPHP5空模块、空控制器、空方法的处理,但是不是很繁琐就是根本概念都没搞清,很多人直接把空模块理解成了空控制器空方法,这个是本人常用的处理方法,总结出来给大家分享下,可供参考
内含以下三个文件 ThinkPHP5.0完全开发手册.pdf ThinkPHP5快速入门.pdf ThinkPHP5控制器从入门到精通.pdf
ThinkPHP5控制器从入门到精通.rar
简单的thinkphp3.2修改当前账号密码并带数据库与实现中间件控制器
Thinkphp代码生成器,能够自动生成表单和实体。业务逻辑。能够快速开发程序功能
thinkphp验证规则的方法
Thinkphp内核泛目录站群系统网站源码,
thinkphp3.1.2学习笔记,常用的知识点,可以打印出来每天温习一下