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
第二节--PHP5 的对象模型
Nov 16 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
Nov 27 PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 PHP
基于Zend的Captcha机制的应用
May 02 PHP
php function用法如何递归及return和echo区别
Mar 07 PHP
php计算当前程序执行时间示例
Apr 24 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
Jun 08 PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 PHP
php判断用户是否手机访问代码
Jun 08 PHP
Zend Framework+smarty用法实例详解
Mar 19 PHP
PHP中trait使用方法详细介绍
May 21 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实现专业获取网站SEO信息类实例
2015/04/02 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
javascript获取当前ip的代码
2009/05/10 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
详解vue-router和vue-cli以及组件之间的传值
2017/07/04 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
Vue axios 跨域请求无法带上cookie的解决
2020/09/08 Javascript
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
使用python3构建文件传输的方法
2019/02/13 Python
Python pandas用法最全整理
2019/08/04 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
2020/02/05 Python
python logging.info在终端没输出的解决
2020/05/12 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
写给女朋友的道歉信
2014/01/08 职场文书
诚信考试倡议书
2014/04/15 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
起诉书范文
2015/05/20 职场文书
高中班主任心得体会
2016/01/07 职场文书
股权投资协议书
2016/03/23 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android
MySQL导致索引失效的几种情况
2022/06/25 MySQL