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 iconv 函数转gb2312的bug解决方法
Oct 11 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
Jun 08 PHP
php使用百度ping服务代码实例
Jun 19 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
php实现过滤字符串中的中文和数字实例
Jul 29 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
php 问卷调查结果统计
Oct 08 PHP
PHP7常量数组用法分析
Sep 26 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
php生成条形码的图片的实例详解
Sep 13 PHP
PHP defined()函数的使用图文详解
Jul 20 PHP
php使用event扩展的io复用测试的示例
Oct 20 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代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
修改Laravel5.3中的路由文件与路径
2016/08/10 PHP
提高网站信任度的技巧
2008/10/17 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
js将json格式内容转换成对象的方法
2013/11/01 Javascript
js 获取、清空input type="file"的值(示例代码)
2013/12/24 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
js回调函数仿360开机
2019/12/26 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
Python 的类、继承和多态详解
2017/07/16 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
中间件分为哪几类
2016/09/18 面试题
师范应届生教师求职信
2013/11/05 职场文书
会计学生自我鉴定
2014/02/06 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
机电专业求职信
2014/06/14 职场文书
评职称个人总结
2015/03/05 职场文书
工作简历的自我评价
2019/05/16 职场文书
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL
SQL中的连接查询详解
2022/06/21 SQL Server