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 相关文章推荐
从零开始 教你如何搭建Discuz!4.1论坛
Jul 07 PHP
PHP编程与应用
Oct 09 PHP
php 友好URL的实现(吐血推荐)
Oct 04 PHP
php中去除所有js,html,css代码
Oct 12 PHP
php中常用的预定义变量小结
May 09 PHP
PHP实现的多彩标签效果代码分享
Aug 21 PHP
再推荐十款免费的php开发工具
Nov 09 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
TP3.2框架分页相关实现方法分析
Jun 03 PHP
CI框架简单分页类用法示例
Jun 06 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 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连接SQLServer2005 的问题解决方法
2010/07/19 PHP
更正确的asp冒泡排序
2007/05/24 Javascript
js CSS操作方法集合
2008/10/31 Javascript
Prototype 工具函数 学习
2009/07/23 Javascript
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
Jquery颜色选择器ColorPicker实现代码
2012/11/14 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
Python字符编码判断方法分析
2016/07/01 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
Django获取应用下的所有models的例子
2019/08/30 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
用python写爬虫简单吗
2020/07/28 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
语文教学感言
2014/02/06 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
2015年乡镇食品安全工作总结
2015/10/22 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
七年级作文之冬景
2019/11/07 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
Django路由层如何获取正确的url
2021/07/15 Python