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作的文本留言本的例子(三)
Oct 09 PHP
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 PHP
php 301转向实现代码
Sep 18 PHP
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
Mar 17 PHP
ThinkPHP中的常用查询语言汇总
Aug 22 PHP
php实现数组中索引关联数据转换成json对象的方法
Jul 08 PHP
基于PHP如何把汉字转化为拼音
Dec 11 PHP
使用php+swoole对client数据实时更新(一)
Jan 07 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
May 27 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 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新手上路(七)
2006/10/09 PHP
php开发文档 会员收费1期
2012/08/14 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
php实现mysql备份恢复分卷处理的方法
2014/12/26 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
2017/08/03 PHP
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
JQuery this 和 $(this) 的区别
2009/08/23 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
jQuery三级下拉列表导航菜单代码分享
2020/04/15 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
10个在JavaScript开发中常遇到的BUG
2017/12/18 Javascript
JS设计模式之观察者模式实现实时改变页面中金额数的方法
2018/02/05 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
ng-repeat指令在迭代对象时的去重方法
2018/10/02 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
Django 导出 Excel 代码的实例详解
2017/08/11 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
python中round函数如何使用
2020/06/19 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
JDO的含义
2012/11/17 面试题
实习护士自我鉴定
2013/10/13 职场文书
运动会通讯稿100字
2014/01/31 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
教师见习总结范文
2015/06/23 职场文书
Windows server 2012搭建FTP服务器
2022/04/29 Servers