php项目命名规范
命名规范
ThinkPHP5遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:
目录和文件
- 目录使用小写+下划线;
- 类库、函数文件统一以.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项目命名规范的更多相关文章
- java项目命名规范
一.命名规范 1. 项目名全部小写 2. 包名全部小写 3. 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写. 如:public class MyFirstClass{} 4. 变量 ...
- Java基础学习总结(32)——Java项目命名规范
一.命名规范 1. 项目名全部小写 2. 包名全部小写 3. 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写. 如:public class MyFirstClass{} 4. 变量 ...
- javaWeb项目命名规范
一.项目结构 这里和其他项目区别不大,我将模板抽离出来,更容易分析和理解: 解释一下:js主要包括extends(引入第三方的js).module(项目模块自己的js).lib(引用包,这里也可以继续 ...
- Maven项目命名规范
Guide to naming conventions on groupId, artifactId and versiongroupId will identify your project uni ...
- iOS项目的命名规范
一.关于本文档1.本文档的书写目的 <iOS项目的命名规范>的书写目的,在于让后续参加到该项目的iOS开发人员通过阅读该文档,了解在当前iOS项目的代码中的命名要求并严格按照本文档执 ...
- SSH框架项目开发命名规范
SSH 框架项目开发命名规范 一.各层包及类命名规范 总体原则:包名所有字母小写,类名采用 "驼峰标识",具体如下: 1. Action 类 包命名规范:co ...
- 前端项目git操作命名规范和协作开发流程
前言 一个项目的分支,一般包括主干 master 和 开发分支 dev,以及若干临时分支 分支命名规范 分支: 命名: 说明: 主分支 master 主分支,所有提供给用户使用的正式版本,都在这个主分 ...
- 【转载】Vue项目中的文件/文件夹命名规范
文件或文件夹的命名遵循以下原则: index.js 或者 index.vue,统一使用小写字母开头的(kebab-case)命名规范 属于组件或类的,统一使用大写字母开头的(PascalCase)命名 ...
- 参与国际化项目需遵循的java命名规范
笔者最近帮助一些朋友应聘远程工作(一般都是一些国外的项目),国外的项目负责人一般都会要求提供github账号或者一些源代码,很多朋友在这一关就被筛选掉了,其中不乏一些我认为技术非常厉害的行业大牛,他们 ...
随机推荐
- Selenium 3----鼠标、键盘操作常用方法
[鼠标] 在 WebDriver 中, 关于鼠标操作的方法封装在 ActionChains 类中. ActionChains 类提供了鼠标操作的常用方法: perform(): 执行所有 Action ...
- robot framework + win7 64 上的安装
1.安装 python 2.7 2.cmd 管理模式 python -m pip install --upgrade pip pip install robotframework==3. ...
- poj1416
#include<iostream> using namespace std; int target,datanum; ],temproad[]; int N,flag,maxsum; ] ...
- 栈->栈的基本定义
定义: 栈是限定仅在表尾进行插入或删除操作的线性表.因此,对栈来说,表尾端有特殊含义,称为栈顶,相应地,表头端称为栈底.不含元素的空表成为空栈. 示意图: 顺序栈的表示和实现 可以在初始化时分配一块连 ...
- Charles 使用
一.设置域名焦点 View->Focused Hosts…-> 二.抓包https:配置证书 1. 电脑安装SSL证书 选择 “Help” -> “SSL Proxying” -&g ...
- div 拖拽
html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- JMS笔记(三)
最近重看activemq,对消息的传送确认机制有了进一步认识 1. mq在确认consumer收到消息后才会删除消息,因此consumer接收消息后应该进行ack"确认",java ...
- attr 和 prop的使用区别
自带的属性,用prop:自定义的属性,用attr.
- Oracle 11g R2性能优化 10046 event
作为SQL Trace的扩展功能,Oracle 10046 event(10046事件)是一个重要的调试事件,也可以说是系统性能分析时最重要的一个事件,它包含比SQL Trace更多的信息.但可惜的是 ...
- face++静态库转为动态库之二
上一篇的时候,已经介绍了如何将carthage转为动态库.这一篇,我们是单纯的建一个动态库.还是以face++为例 查看上一篇: face++静态库转为动态库 制作动态库 1.创建一个工程MGLive ...