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 相关文章推荐
PHP中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
May 29 PHP
分享一下贝贝成长进度的php代码
Sep 14 PHP
Yii使用migrate命令执行sql语句的方法
Mar 15 PHP
PHP数据库表操作的封装类及用法实例详解
Jul 12 PHP
如何利用预加载优化Laravel Model查询详解
Aug 11 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
PHP实现负载均衡下的session共用功能
Apr 17 PHP
PHP PDOStatement::fetchObject讲解
Feb 01 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
Mar 06 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 PHP
php框架知识点的整理和补充
Mar 01 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
自动跳转中英文页面
2006/10/09 PHP
php截取字符串函数分享
2015/02/02 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
2020/06/02 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
利用三角函数在canvas上画虚线的方法
2018/01/11 HTML / CSS
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
个人简历中的自我评价范例
2013/10/29 职场文书
人事助理岗位职责
2013/11/18 职场文书
高中毕业生自我鉴定例文
2013/12/29 职场文书
投资建议书模板
2014/05/12 职场文书
党员违纪检讨书怎么写
2014/11/01 职场文书
《月光曲》教学反思
2016/02/16 职场文书
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技