从" ThinkPHP 开发规范 "看 PHP 的命名规范和开发建议
2016-08-14 09:15
381 查看
稍稍水一篇博客,摘抄自Think PHP 的开发规范,很有引导性,我们可以将这些规范实践到原生 PHP 中。
类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如 DbMysql.class.php;
类的命名空间地址和所在的路径地址一致,例如 Home\Controller\UserController类所在的路径应该是 Application/Home/Controller/UserController.class.php;
确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
类名和文件名一致(包括上面说的大小写一致),例如 UserController类的文件命名是UserController.class.php, InfoModel类的文件名是InfoModel.class.php, 并且不同的类库的类命名有一定的规范;
函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求);
函数的命名使用小写字母和下划线的方式,例如 get_client_ip;
方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 getUserName,_parseType,通常下划线开头的方法属于私有方法;
属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 tableName、_instance,通常下划线开头的属性属于私有属性;
以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;
常量以大写字母和下划线命名,例如 HAS_ONE和 MANY_TO_MANY;
配置参数以大写字母和下划线命名,例如HTML_CACHE_ON;
语言变量以大写字母和下划线命名,例如MY_LANG,以下划线打头的语言变量通常用于系统语言变量,例如 CLASS_NOT_EXIST;
对变量的命名没有强制的规范,可以根据团队规范来进行;
ThinkPHP的模板文件默认是以.html 为后缀(可以通过配置修改);
数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段是正确写法,类似 _username 这样的数据表字段可能会被过滤。
特例:在ThinkPHP里面,有一个函数命名的特例,就是单字母大写函数,这类函数通常是某些操作的快捷定义,或者有特殊的作用。例如:A、D、S、L 方法等等,他们有着特殊的含义,后面会有所了解。
由于ThinkPHP默认全部使用UTF-8编码,所以请确保你的程序文件采用UTF-8编码格式保存,并且去掉BOM信息头(去掉BOM头信息有很多方式,不同的编辑器都有设置方法,也可以用工具进行统一检测和处理),否则可能导致很多意想不到的问题。
遵循框架的命名规范和目录规范;
开发过程中尽量开启调试模式,及早发现问题;
多看看日志文件,查找隐患问题;
养成使用I函数获取输入变量的好习惯;
更新或者环境改变后遇到问题首要问题是清空Runtime目录;
命名规范
使用ThinkPHP开发的过程中应该尽量遵循下列命名规范:类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如 DbMysql.class.php;
类的命名空间地址和所在的路径地址一致,例如 Home\Controller\UserController类所在的路径应该是 Application/Home/Controller/UserController.class.php;
确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
类名和文件名一致(包括上面说的大小写一致),例如 UserController类的文件命名是UserController.class.php, InfoModel类的文件名是InfoModel.class.php, 并且不同的类库的类命名有一定的规范;
函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求);
函数的命名使用小写字母和下划线的方式,例如 get_client_ip;
方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 getUserName,_parseType,通常下划线开头的方法属于私有方法;
属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 tableName、_instance,通常下划线开头的属性属于私有属性;
以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;
常量以大写字母和下划线命名,例如 HAS_ONE和 MANY_TO_MANY;
配置参数以大写字母和下划线命名,例如HTML_CACHE_ON;
语言变量以大写字母和下划线命名,例如MY_LANG,以下划线打头的语言变量通常用于系统语言变量,例如 CLASS_NOT_EXIST;
对变量的命名没有强制的规范,可以根据团队规范来进行;
ThinkPHP的模板文件默认是以.html 为后缀(可以通过配置修改);
数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段是正确写法,类似 _username 这样的数据表字段可能会被过滤。
特例:在ThinkPHP里面,有一个函数命名的特例,就是单字母大写函数,这类函数通常是某些操作的快捷定义,或者有特殊的作用。例如:A、D、S、L 方法等等,他们有着特殊的含义,后面会有所了解。
由于ThinkPHP默认全部使用UTF-8编码,所以请确保你的程序文件采用UTF-8编码格式保存,并且去掉BOM信息头(去掉BOM头信息有很多方式,不同的编辑器都有设置方法,也可以用工具进行统一检测和处理),否则可能导致很多意想不到的问题。
开发建议
在使用ThinkPHP进行开发的过程中,我们给出如下建议,会让你的开发变得更轻松:遵循框架的命名规范和目录规范;
开发过程中尽量开启调试模式,及早发现问题;
多看看日志文件,查找隐患问题;
养成使用I函数获取输入变量的好习惯;
更新或者环境改变后遇到问题首要问题是清空Runtime目录;
相关文章推荐
- 从" ThinkPHP 开发规范 "看 PHP 的命名规范和开发建议
- 团队项目开发"编码规范"之五:命名规范
- 团队项目开发"编码规范"之七: 控件命名规则
- ThinPHP开发命名规范
- "浏览器端" 使用 commonjs 模块规范开发网页应用,像开发 node 那样开发网页应用
- 关于微信程序开发---thinkPHP出现 "无法加载模块:Index"
- 使用ThinkPHP开发命名规范
- Android程序员学PHP开发(33)-ThinkPHP5.0(5)命名空间与TP5-PhpStorm
- ThinkPHP5开发的正确姿势——PHP最佳实践的参考规范
- Android程序员学PHP开发(32)-ThinkPHP5.0(4)命名空间与公共空间-PhpStorm
- PHP建议命名规范
- Android程序员学PHP开发(30)-ThinkPHP5.0(2)命名空间-PhpStorm
- php微信开发解决{"errcode":40016,"errmsg":"invalid button size hint: [pqd5ea0809vr22]"}
- PHP开发规范——转自ThinkPHP手册
- 团队项目开发"编码规范"之七:控件命名规则
- 团队项目开发"编码规范"之五:命名规范
- ThinkPHP5开发的正确姿势——PHP最佳实践的参考规范
- Android程序员学PHP开发(31)-ThinkPHP5.0(3)多级命名空间-PhpStorm
- 团队项目开发"编码规范"之五:命名规范
- FleaPHP 开发指南 - 4. 命名规范和目录结构