ThinkPHP学习(3)--ThinkPHP文件目录详解(转)
2014-07-30 10:31
253 查看
以下是我们现在用的TP框架的文件夹说明::::::
(该结构完全符合我们现在使用的tp版本,如果出现文件夹不符的情况则为系统没有自动生成 需要我们自己创建的目录)
ps:该目录结构中出现的项目中没有的文件夹多为非必须文件夹
********************************用记事本打开请不要使用自动换行***************************************
app ┌index.php 系统入口文件
├common 公共文件目录(非必须),包含框架的一些公共文件、系统定义、系统函数和惯例配置等
├conf 项目配置目录
├lang 语言包目录(非必须)
├lib 应用类库目录 ┌action 控制器(模块)类目录
│ ├exception 异常类库目录
│ ├common 公共应用类目录
│ ├help 助手类目录
│ └model model类文件目录
├runtime 项目运行时目录 ┌cache 模板缓存目录
│ ├data 项目数据目录 ─field
│ ├logs 日志文件目录
│ └temp 数据缓存目录(临时文件目录)
└tpl 模板文件目录 ─defaul
thinkphp ┌thinkPHP.php 系统公共文件(可任意放置)
├common 公共文件目录
├lang 系统语言包目录
├lib系统基类库目录 ┌think系统运行库(必须) ┌core ─model
│ ├com 扩展类库包(非必须) ├db ─driver
│ └org 扩展类库包(非必须) ├exception
│ ├template ─taqlib
│ └until ┌cache
│ └template
├mode ┌cli
│ ├lite
│ └thin
├tpl 框架系统模板目录 ─autoindex
└vendor 第三方类库目录
public 网站公共目录 ┌Js js类库目录(建议)
├Images 公共图像目录(建议)
├Upload 公共上传目录(建议)
└Css css文件类库(建议)
***************************************************************************************************
以下是我在网上找的资料:
新版的目录结构在原来的基础上进行了调整,更加清晰。
一、系统目录(ThinkPHP框架目录)
ThinkPHP.php 框架的公共入口文件
Common 包含框架的一些公共文件、系统定义、系统函数和惯例配置等
Lang 系统语言文件
Lib 系统基类库目录
Tpl 系统模板目录
Mode 框架模式扩展目录
Vendor 第三方类库目录
二、应用目录(项目目录)
index.php 项目入口文件(可以使用其他名称或者放置于其他位置)
Common 项目公共文件目录,一般放置项目的公共函数
Conf 项目配置目录,所有的配置文件都放在这里。
Lang 项目语言包目录(可选)
Lib 项目类库目录,通常包括Action和Model子目录
Tpl 项目模板目录,支持模板主题
Runtime 项目运行时目录,包括Cache(模板缓存)、Temp(数据缓存)、Data(数据目录)和Logs(日志文件)子目录
上面的只是默认方式,项目下面的目录名称和结构是可以重新定义的。其实项目目录并不需要开发人员手动创建,只需要定义好项目的入口文件之后,系统会在第一次执行的时候自动生成项目必须的所有目录结构(前提是项目目录具有可写权限,这点在Linux环境下面需要注意)。
可以看出新版的目录结构更加便于部署和配置,因为只有Runtime目录才是需要具备可写权限的,在Linux环境下面可以更加快速的部署和配置目录权限。
三、部署目录
当我们实际部署网站的时候,目录结构往往由于项目的复杂而变得复杂。我们推荐的部署目录结构如下:
ThinkPHP 系统目录(下面的目录结构同上面的系统目录)
Home 项目目录(下面的目录结构同上面的应用目录)
Admin后台管理项目目录
…… 更多的项目目录
index.php 网站的入口文件
admin.php 网站的后台入口文件
如果采用分组模块的话 可以简化为一个项目目录
ThinkPHP 系统目录(下面的目录结构同上面的系统目录)
App 项目目录
Public 网站公共目录
index.php 网站的入口文件
项目的模板文件还是放到项目的Tpl目录下面,只是将外部调用的资源文件, 包括图片 JS 和CSS统一放到网站的公共目录Public下面,分Images、Js和Css子目录存放,如果有可能的话,甚至也可以把这些资源文件单独放一个外部的服务器远程调用,并进行优化。
这样部署的好处是系统目录和项目目录可以放到非WEB访问目录下面,网站目录下面可以只需要放置Public公共目录和index.php入口文件(如果是多个项目的话,每个项目的入口文件都需要放到WEB目录下面),从而提高网站的安全性。
***************************************************************************************************************************************
Common
alias.php
compet.php
convention.php
core.php
debug.php
defines.php
extend.php
functions.php
paths.php
runtime.php
Conf
config.php
Lang
zh-cn.php
Lib
Action
IndexAction.class.php
Model
Think
Core
Db
Exception
Template
Util
Mode
Runtime
Tpl
Vendor
think.php
┎━ThinkPHP 框架系统目录
┃ ┝ ThinkPHP.php 系统公共文件
┃ ┝ Common 公共文件目录
┃ ┝ Tpl 框架系统模版目录
┃ ┝ Lang 系统语言包目录
┃ ┝ PlugIns 公共插件目录
┃ ┗ Lib 系统基类库目录
┃ ┝ Think 系统运行库(必须)
┃ ┝ Com 扩展类库包(非必须)
┃ ┗ ORG 扩展类库包(非必须)
┃
┝━App App 项目目录
┃ ┝ index.php 项目入口文件(可任意放置)
┃ ┝ Cache 模版缓存目录
┃ ┝ Common 公共文件目录(非必须)
┃ ┝ Conf 项目配置目录
┃ ┝ Data 项目数据目录
┃ ┝ Html 静态文件目录(非必须)
┃ ┝ PlugIns 插件目录(非必须)
┃ ┝ Tpl 模版文件目录
┃ ┝ Lang 语言包目录(非必须)
┃ ┝ Logs 日志文件目录
┃ ┝ Temp 数据缓存目录
┃ ┗ Lib 应用类库目录
┃ ┝ Action 控制器(模块)类目录
┃ ┝ Model Model 类文件目录
┃ … 下面的应用目录可根据需要选择和定义
┃ ┝ Exception 异常类库目录
┃ ┝ Common 公共应用类目录
┃ ┗ Help 助手类目录
┃
┃…更多项目目录(和App 目录类似,每个项目采用独立目录,便于部署)
┃
┝━Public 网站公共目录(多项目公用)
┃ ┝ Js JS 类库目录(建议)
┃ ┝ Images 公共图像目录(建议)
┃ ┗ Uploads 公共上传目录(建议)
用到的公司地址和规模发送到范德萨发生后这个是飘来那个的winscp9 window9 用户界面友好体验模式
(该结构完全符合我们现在使用的tp版本,如果出现文件夹不符的情况则为系统没有自动生成 需要我们自己创建的目录)
ps:该目录结构中出现的项目中没有的文件夹多为非必须文件夹
********************************用记事本打开请不要使用自动换行***************************************
app ┌index.php 系统入口文件
├common 公共文件目录(非必须),包含框架的一些公共文件、系统定义、系统函数和惯例配置等
├conf 项目配置目录
├lang 语言包目录(非必须)
├lib 应用类库目录 ┌action 控制器(模块)类目录
│ ├exception 异常类库目录
│ ├common 公共应用类目录
│ ├help 助手类目录
│ └model model类文件目录
├runtime 项目运行时目录 ┌cache 模板缓存目录
│ ├data 项目数据目录 ─field
│ ├logs 日志文件目录
│ └temp 数据缓存目录(临时文件目录)
└tpl 模板文件目录 ─defaul
thinkphp ┌thinkPHP.php 系统公共文件(可任意放置)
├common 公共文件目录
├lang 系统语言包目录
├lib系统基类库目录 ┌think系统运行库(必须) ┌core ─model
│ ├com 扩展类库包(非必须) ├db ─driver
│ └org 扩展类库包(非必须) ├exception
│ ├template ─taqlib
│ └until ┌cache
│ └template
├mode ┌cli
│ ├lite
│ └thin
├tpl 框架系统模板目录 ─autoindex
└vendor 第三方类库目录
public 网站公共目录 ┌Js js类库目录(建议)
├Images 公共图像目录(建议)
├Upload 公共上传目录(建议)
└Css css文件类库(建议)
***************************************************************************************************
以下是我在网上找的资料:
新版的目录结构在原来的基础上进行了调整,更加清晰。
一、系统目录(ThinkPHP框架目录)
ThinkPHP.php 框架的公共入口文件
Common 包含框架的一些公共文件、系统定义、系统函数和惯例配置等
Lang 系统语言文件
Lib 系统基类库目录
Tpl 系统模板目录
Mode 框架模式扩展目录
Vendor 第三方类库目录
二、应用目录(项目目录)
index.php 项目入口文件(可以使用其他名称或者放置于其他位置)
Common 项目公共文件目录,一般放置项目的公共函数
Conf 项目配置目录,所有的配置文件都放在这里。
Lang 项目语言包目录(可选)
Lib 项目类库目录,通常包括Action和Model子目录
Tpl 项目模板目录,支持模板主题
Runtime 项目运行时目录,包括Cache(模板缓存)、Temp(数据缓存)、Data(数据目录)和Logs(日志文件)子目录
上面的只是默认方式,项目下面的目录名称和结构是可以重新定义的。其实项目目录并不需要开发人员手动创建,只需要定义好项目的入口文件之后,系统会在第一次执行的时候自动生成项目必须的所有目录结构(前提是项目目录具有可写权限,这点在Linux环境下面需要注意)。
可以看出新版的目录结构更加便于部署和配置,因为只有Runtime目录才是需要具备可写权限的,在Linux环境下面可以更加快速的部署和配置目录权限。
三、部署目录
当我们实际部署网站的时候,目录结构往往由于项目的复杂而变得复杂。我们推荐的部署目录结构如下:
ThinkPHP 系统目录(下面的目录结构同上面的系统目录)
Home 项目目录(下面的目录结构同上面的应用目录)
Admin后台管理项目目录
…… 更多的项目目录
index.php 网站的入口文件
admin.php 网站的后台入口文件
如果采用分组模块的话 可以简化为一个项目目录
ThinkPHP 系统目录(下面的目录结构同上面的系统目录)
App 项目目录
Public 网站公共目录
index.php 网站的入口文件
项目的模板文件还是放到项目的Tpl目录下面,只是将外部调用的资源文件, 包括图片 JS 和CSS统一放到网站的公共目录Public下面,分Images、Js和Css子目录存放,如果有可能的话,甚至也可以把这些资源文件单独放一个外部的服务器远程调用,并进行优化。
这样部署的好处是系统目录和项目目录可以放到非WEB访问目录下面,网站目录下面可以只需要放置Public公共目录和index.php入口文件(如果是多个项目的话,每个项目的入口文件都需要放到WEB目录下面),从而提高网站的安全性。
***************************************************************************************************************************************
Common
alias.php
compet.php
convention.php
core.php
debug.php
defines.php
extend.php
functions.php
paths.php
runtime.php
Conf
config.php
Lang
zh-cn.php
Lib
Action
IndexAction.class.php
Model
Think
Core
Db
Exception
Template
Util
Mode
Runtime
Tpl
Vendor
think.php
┎━ThinkPHP 框架系统目录
┃ ┝ ThinkPHP.php 系统公共文件
┃ ┝ Common 公共文件目录
┃ ┝ Tpl 框架系统模版目录
┃ ┝ Lang 系统语言包目录
┃ ┝ PlugIns 公共插件目录
┃ ┗ Lib 系统基类库目录
┃ ┝ Think 系统运行库(必须)
┃ ┝ Com 扩展类库包(非必须)
┃ ┗ ORG 扩展类库包(非必须)
┃
┝━App App 项目目录
┃ ┝ index.php 项目入口文件(可任意放置)
┃ ┝ Cache 模版缓存目录
┃ ┝ Common 公共文件目录(非必须)
┃ ┝ Conf 项目配置目录
┃ ┝ Data 项目数据目录
┃ ┝ Html 静态文件目录(非必须)
┃ ┝ PlugIns 插件目录(非必须)
┃ ┝ Tpl 模版文件目录
┃ ┝ Lang 语言包目录(非必须)
┃ ┝ Logs 日志文件目录
┃ ┝ Temp 数据缓存目录
┃ ┗ Lib 应用类库目录
┃ ┝ Action 控制器(模块)类目录
┃ ┝ Model Model 类文件目录
┃ … 下面的应用目录可根据需要选择和定义
┃ ┝ Exception 异常类库目录
┃ ┝ Common 公共应用类目录
┃ ┗ Help 助手类目录
┃
┃…更多项目目录(和App 目录类似,每个项目采用独立目录,便于部署)
┃
┝━Public 网站公共目录(多项目公用)
┃ ┝ Js JS 类库目录(建议)
┃ ┝ Images 公共图像目录(建议)
┃ ┗ Uploads 公共上传目录(建议)
用到的公司地址和规模发送到范德萨发生后这个是飘来那个的winscp9 window9 用户界面友好体验模式
相关文章推荐
- 轻松学习Linux之Shell文件和目录属性详解
- 微信小程序学习(3)_目录文件详解
- 学习ThinkPHP3.2.2:video10,可以通过设置 TMPL_FILE_DEPR 简化模板文件目录层次
- 小程序学习笔记一:基本目录结构与主目录文件详解
- ThinkPHP学习之——项目入口文件、目录与配置
- 对于ThinkPHP入口文件以及模块目录结构的学习
- 轻松学习Linux之Shell文件和目录属性详解
- 轻松学习Linux之Shell文件和目录属性详解
- IIS 学习笔记(在IIS上发布了一个webservice,访问时可以访问到其目录,但是无法打开.asmx文件)
- Linux文件目录结构详解
- Linux中/proc目录下文件详解(ZZ)
- Linux中/proc目录下文件详解
- system32目录下系统文件详解
- 查看文件及目录-shell学习
- Tomcat目录结构配置文件基础学习
- Linux中/proc目录下文件详解
- 详细学习PHP中对文件和目录的操作方法
- Opera目录和文件详解(转自亡灵法师)
- Linux中/proc目录下文件详解
- 详细学习PHP中对文件和目录的操作方法