thinkPHP5.0框架开发规范简介


Posted in PHP onMarch 25, 2017

本文实例讲述了thinkPHP5.0框架开发规范。分享给大家供大家参考,具体如下:

命名规范

ThinkPHP5遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:

目录和文件

目录不强制规范,驼峰及小写+下划线模式均支持;
类库、函数文件统一以.php为后缀;
类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);

函数和类、属性命名

类的命名采用驼峰法,并且首字母大写,例如 UserUserType,默认不需要添加后缀,例如UserController应该直接命名为User
函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip
方法的命名使用驼峰法,并且首字母小写,例如 getUserName
属性的命名使用驼峰法,并且首字母小写,例如 tableNameinstance
以双下划线“__”打头的函数或方法作为魔法方法,例如 __call__autoload

常量和配置

常量以大写字母和下划线命名,例如 APP_PATHTHINK_PATH
配置参数以小写字母和下划线命名,例如 url_route_onurl_convert

数据表和字段

数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表字段命名。

应用类库命名空间规范

应用类库的根命名空间统一为app(可以设置app_namespace配置参数更改);

例如:app\index\controller\Index和app\index\model\User

请避免使用PHP保留字(保留字列表参见 http://php.net/manual/zh/reserved.keywords.php )作为常量、类名和方法名,以及命名空间的命名,否则会造成系统错误。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
在PHP3中实现SESSION的功能(三)
Oct 09 PHP
phpfans留言版用到的install.php
Jan 04 PHP
PHP 程序员也要学会使用“异常”
Jun 16 PHP
在PHP中检查PHP文件是否有语法错误的方法
Dec 23 PHP
PHP5.4中json_encode中文转码的变化小结
Jan 30 PHP
php简单图像创建入门实例
Jun 10 PHP
PHP调试的强悍利器之PHPDBG
Feb 22 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
PHP处理数组和XML之间的互相转换
Jun 02 PHP
php array_keys 返回数组的键名
Oct 25 PHP
用php+ajax新建流程(请假、进货、出货等)
Jun 11 PHP
PHP yield关键字功能与用法分析
Jan 03 PHP
thinkPHP5.0框架安装教程
Mar 25 #PHP
thinkPHP5.0框架应用请求生命周期分析
Mar 25 #PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 #PHP
CI(CodeIgniter)框架视图中加载视图的方法
Mar 24 #PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 #PHP
CI(CodeIgniter)框架实现图片上传的方法
Mar 24 #PHP
PHP的自定义模板引擎
Mar 24 #PHP
You might like
PHP的ASP防火墙
2006/10/09 PHP
php遍历数组的方法分享
2012/03/22 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
php查询及多条件查询
2017/02/26 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
浅析Node.js非对称加密方法
2018/01/29 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
详解jQuery中的easyui
2018/09/02 jQuery
基于iview的router常用控制方式
2019/05/30 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
乡下人家教学反思
2014/02/01 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
医院见习报告范文
2014/11/03 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android