thinkphp5的目录结构和命名规范
project 应用部署目录
├─application 应用目录(可设置)
│ ├─common 公共模块目录(可更改)
│ ├─index 模块目录(可更改)
│ │ ├─config.php 模块配置文件
│ │ ├─common.php 模块函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ └─ ... 更多类库目录
│ ├─command.php 命令行工具配置文件
│ ├─common.php 应用公共(函数)文件
│ ├─config.php 应用(公共)配置文件
│ ├─database.php 数据库配置文件
│ ├─tags.php 应用行为扩展定义文件
│ └─route.php 路由配置文件
├─extend 扩展类库目录(可定义)
├─public WEB 部署目录(对外访问目录)
│ ├─static 静态资源存放目录(css,js,image)
│ ├─index.php 应用入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于 apache 的重写
├─runtime 应用的运行时目录(可写,可设置)
├─vendor 第三方类库目录(Composer)
├─thinkphp 框架系统目录
│ ├─lang 语言包目录
│ ├─library 框架核心类库目录
│ │ ├─think Think 类库包目录
│ │ └─traits 系统 Traits 目录
│ ├─tpl 系统模板目录
│ ├─.htaccess 用于 apache 的重写
│ ├─.travis.yml CI 定义文件
│ ├─base.php 基础定义文件
│ ├─composer.json composer 定义文件
│ ├─console.php 控制台入口文件
│ ├─convention.php 惯例配置文件
│ ├─helper.php 助手函数文件(可选)
│ ├─LICENSE.txt 授权说明文件
│ ├─phpunit.xml 单元测试配置文件
│ ├─README.md README 文件
│ └─start.php 框架引导文件
├─build.php 自动生成定义文件(参考)
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件
目录和文件
- 目录使用小写+下划线;
- 类库、函数文件统一以
.php
为后缀; - 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
- 类文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
- 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);
函数和类、属性命名
- 类的命名采用驼峰法(首字母大写),例如
User
、UserType
,默认不需要添加后缀,例如UserController
应该直接命名为User
; - 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如
get_client_ip
; - 方法的命名使用驼峰法(首字母小写),例如
getUserName
; - 属性的命名使用驼峰法(首字母小写),例如
tableName
、instance
; - 以双下划线“__”打头的函数或方法作为魔术方法,例如
__call
和__autoload
;
常量和配置
- 常量以大写字母和下划线命名,例如
APP_PATH
和THINK_PATH
; - 配置参数以小写字母和下划线命名,例如
url_route_on
和url_convert
;
数据表和字段
数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user
表和 user_name
字段,不建议使用驼峰和中文作为数据表字段命名。
应用类库命名空间规范
应用类库的根命名空间统一为app(不建议更改,可以设置app_namespace
配置参数更改,V5.0.8
版本开始使用APP_NAMESPACE
常量定义);
例如:app\index\controller\Index
和app\index\model\User
。
请避免使用PHP保留字(保留字列表参见 http://php.net/manual/zh/reserved.keywords.php )作为常量、类名和方法名,以及命名空间的命名,否则会造成系统错误。
thinkphp5的目录结构和命名规范相关推荐
- 成为构架师必知的Vue目录结构和构建规范,恩师王红元的蘑菇街项目❤
目录 项目开发流程 目录风格 代码组织格式 目录结构 项目开发流程 划分目录 引用两个css文件 项目模块划分:tabbar->路由映射关系 目录风格 文件夹字母小写,组件首字母大写比较清晰 代 ...
- MAB建模规范-Naming Conventions命名规范
规则ID:db.jm.hd.ar被用于Ver 1.0的规范.na和jc用于从版本2.0到现在创建的规范 NA-MAAB代表北美和欧洲.J-MAAB代表日本 目录 Naming Conventions命 ...
- cpp教程2-cpp命名规范整理
目录 命名通用规则 文件命名规则 变量命名规则 名字空间命名规则 宏命名 define头文件保护命名 匈牙利命名法zzz 谷歌开源cpp代码规范 命名通用规则 文件名.函数名.变量名命名应具有描述性, ...
- 关于java变量命名,介绍阿里JAVA命名规范及IDEA实时检测插件的使用以及CODELF取名神器
JAVA开发中,我们经常会为如何来命名烦心. 有大神曾说计算机科学的两件难事:缓存失效和命名 的确,程序员最头疼的事:命名 但其实,有规范可以遵循.还有工具帮我们取名,更有插件帮我们实时检查是否违反规 ...
- muduo网络库:18---muduo简介之(muduo库的由来、编译安装、目录结构、代码结构、线程模型)
一.由来 2010年3月陈硕先生写了一篇<学之者生,用之者死--ACE历史与简评>(文章参阅:https://blog.csdn.net/Solstice/article/details/ ...
- git flow 命名规范 驼峰_图解ThinkPHP5框架(一):基础知识,开发规范与目录结构
php中文网最新课程 每日17点准时技术干货分享 基于最新ThinkPHP5.0.8制定,原稿是xmind思维导图制作,如果觉得图片看不太清楚,可以下载xmind源文件,用xmind软件打开. 另外, ...
- FleaPHP 开发指南 - 4. 命名规范和目录结构
FleaPHP 的命名规则和目录结构初看上去比较复杂,但习惯以后,你会发现这种命名规则带来许多好处.因此像 Zend Framework 也是采用同样的做法. 当然,FleaPHP 对于应用程序的命名 ...
- php网站目录结构图,thinkPHP5.0站点目录结构-我心向阳
一.ThinkPHP5.0的目录结构 安装后(或者下载后的压缩文件解压后)可以看到下面的目录结构: tp5 ├─application 应用目录 ├─extend 扩展类库目录(可定义) ├─publ ...
- Vue目录详解和文件命名规范(超详细)
框架 Vue-cli: 3 axios:发送请求 Vuex:store仓库 项目目录结构 dist:生成的打包目录 node_modules:依赖包目录 public: 放置系统的静态文件,比如,图片 ...
最新文章
- selenium 不同版本Driver
- Stuts的Web.xml 详解
- C语言二叉查找树练习:单词查找
- 【Shall脚本】定时在线备份上传
- 软考中级——软件工程基础概念总结
- CodeForces - 1343F Restore the Permutation by Sorted Segments(思维)
- 运行一个Hadoop Job所需要指定的属性
- Android WebView 图片超出宽度自适应,点击查看大图
- 模板库 | 销售管理类报表,邀您提反馈
- android 触摸屏(TP)问题现象分析和解决方法
- go for 循环遍历数组并排序_Go语言基础教程:for循环语句
- activemq之调用问题研究
- android jar包下载地址
- igbt原理动画演示视频_igbt的结构原理与特性图解
- 机器人开发--二维激光SLAM介绍
- 算法(c++)——循环比赛日程安排问题
- 裸眼3d项目,数字平原是这样制作的
- IntelliJ IDEA pycharm webstorm 激活
- 从零搭建SSM框架及所遇到问题
- Android app 录音回音消除两种方法