thinkphp5开发规范(加强复习之前的)
thinkphp5开发规范(加强复习之前的)
一、总结
一句话总结:和类相关的采用驼峰命名法:变量,函数,类,方法,属性采用驼峰命名发;数据库及文件及配置参数是小写字母加下划;常量大写加下划线
1、ThinkPHP5遵循哪种命名规范和哪种自动加载规范?
解答:PSR-2命名规范和PSR-4自动加载规范。
2、thinkphp中的目录如何命名?
解答:目录使用小写+下划线。
3、thinkphp中的类库、函数文件统一以什么为后缀?
解答:.php。
4、thinkphp中的类的文件名均以什么定义,并且什么的路径和类库文件所在路径一致?
解答:命名空间、命名空间。
5、thinkphp中的类文件采用什么法命名?
解答:驼峰法命名(首字母大写)。
6、thinkphp中的除类以外的文件采用什么方式命名?
解答:小写+下划线命名。
7、thinkphp中的类的命名的注意事项是什么?
解答:类的命名采用驼峰法(首字母大写),例如 User、UserType,默认不需要添加后缀,例如UserController应该直接命名为User。
8、thinkphp中的函数的命名是怎样?
解答:使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip。
9、thinkphp中的方法怎么命名?
解答:驼峰法(首字母小写),例如 getUserName;。
10、thinkphp中的属性怎么命名?
解答:驼峰法(首字母小写),例如 tableName、instance;。
11、thinkphp中的魔术方法怎么命名?
解答:以双下划线“__”打头的函数或方法作为魔术方法,例如 __call 和 __autoload。
12、thinkphp中的常量怎么命名?
解答:常量以大写字母和下划线命名,例如 APP_PATH和 THINK_PATH。
13、thinkphp中的配置参数怎么命名?
解答:配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert。
14、thinkphp中的数据表和字段采用什么方式命名?
解答:数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表字段命名。
15、thinkphp中的应用类库的根命名空间统一为什么?
解答:为app(不建议更改)。例如:app\index\controller\Index和app\index\model\User。。
16、php中的关键字是语言结构的一部分么?
解答:是的。
二、thinkphp5开发规范
命名规范
ThinkPHP5遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:
目录和文件
- 目录使用小写+下划线;
- 类库、函数文件统一以
.php为后缀; - 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
- 类文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
- 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);
函数和类、属性命名
- 类的命名采用驼峰法(首字母大写),例如
User、UserType,默认不需要添加后缀,例如UserController应该直接命名为User; - 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如
get_client_ip; - 方法的命名使用驼峰法(首字母小写),例如
getUserName; - 属性的命名使用驼峰法(首字母小写),例如
tableName、instance; - 以双下划线“__”打头的函数或方法作为魔术方法,例如
__call和__autoload;
常量和配置
- 常量以大写字母和下划线命名,例如
APP_PATH和THINK_PATH; - 配置参数以小写字母和下划线命名,例如
url_route_on和url_convert;
数据表和字段
- 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如
think_user表和user_name字段,不建议使用驼峰和中文作为数据表字段命名。
应用类库命名空间规范
应用类库的根命名空间统一为app(不建议更改,可以设置app_namespace配置参数更改,V5.0.8版本开始使用APP_NAMESPACE常量定义);
例如:app\index\controller\Index和app\index\model\User。
请避免使用PHP保留字(保留字列表参见 http://php.net/manual/zh/reserved.keywords.php )作为常量、类名和方法名,以及命名空间的命名,否则会造成系统错误。
php关键字列表
这些词语在 PHP 中有着特殊的意义。它们中有些像是函数,有些像是常量……但是它们不是的,它们只是语言结构的一部分。不能使用它们的任何一个作为常量、方法名或是类名。但是可以将它们作为变量名使用,不过这样会导致混淆。
从PHP7.0.0开始这些关键字允许被用作类的属性、常量以及类的方法名,或者接口名和traints名,除了class不能被用作常量名。
| __halt_compiler() | abstract | and | array() | as |
| break | callable (as of PHP 5.4) | case | catch | class |
| clone | const | continue | declare | default |
| die() | do | echo | else | elseif |
| empty() | enddeclare | endfor | endforeach | endif |
| endswitch | endwhile | eval() | exit() | extends |
| final | finally (从PHP 5.5开始) | for | foreach | function |
| global | goto (从PHP 5.3开始) | if | implements | include |
| include_once | instanceof | insteadof (从PHP 5.4开始) | interface | isset() |
| list() | namespace (从PHP 5.3开始) | new | or | |
| private | protected | public | require | require_once |
| return | static | switch | throw | trait (从PHP 5.4开始) |
| try | unset() | use | var | while |
| xor | yield (从PHP 5.5开始) |
| __CLASS__ | __DIR__ (从PHP 5.3开始) | __FILE__ | __FUNCTION__ | __LINE__ | __METHOD__ |
| __NAMESPACE__ (从PHP 5.3开始) | __TRAIT__ (从PHP 5.4开始) |
三、测试题-简答题
1、ThinkPHP5遵循哪种命名规范和哪种自动加载规范?
解答:PSR-2命名规范和PSR-4自动加载规范。
2、thinkphp中的目录如何命名?
解答:目录使用小写+下划线。
3、thinkphp中的类库、函数文件统一以什么为后缀?
解答:.php。
4、thinkphp中的类的文件名均以什么定义,并且什么的路径和类库文件所在路径一致?
解答:命名空间、命名空间。
5、thinkphp中的类文件采用什么法命名?
解答:驼峰法命名(首字母大写)。
6、thinkphp中的除类以外的文件采用什么方式命名?
解答:小写+下划线命名。
7、thinkphp中的类的命名的注意事项是什么?
解答:类的命名采用驼峰法(首字母大写),例如 User、UserType,默认不需要添加后缀,例如UserController应该直接命名为User。
8、thinkphp中的函数的命名是怎样?
解答:使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip。
9、thinkphp中的方法怎么命名?
解答:驼峰法(首字母小写),例如 getUserName;。
10、thinkphp中的属性怎么命名?
解答:驼峰法(首字母小写),例如 tableName、instance;。
11、thinkphp中的魔术方法怎么命名?
解答:以双下划线“__”打头的函数或方法作为魔术方法,例如 __call 和 __autoload。
12、thinkphp中的常量怎么命名?
解答:常量以大写字母和下划线命名,例如 APP_PATH和 THINK_PATH。
13、thinkphp中的配置参数怎么命名?
解答:配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert。
14、thinkphp中的数据表和字段采用什么方式命名?
解答:数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表字段命名。
15、thinkphp中的应用类库的根命名空间统一为什么?
解答:为app(不建议更改)。例如:app\index\controller\Index和app\index\model\User。。
16、php中的关键字是语言结构的一部分么?
解答:是的。
thinkphp5开发规范(加强复习之前的)的更多相关文章
- thinkphp5学习(一)——thinkphp5的目录结构与开发规范
开发规范: 目录和文件 目录使用小写+下划线: 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致: 类文件采用驼峰法命名(首字母大写),其它文 ...
- 我的公司培训讲义(1):.NET开发规范教程
这是1年多以前我在公司所做讲座的讲义,现在与园友们分享,欢迎拿去使用.一起讨论.文中有若干思考题,对园友们是小菜一碟.另有设计模式讲义一篇,随后发布.博文上了首页,感谢博客园团队推荐,也感谢所有园友的 ...
- 转载:移动web开发规范
本文来源:http://blog.csdn.net/joueu/article/details/44329825 以下是规范建议,均是日常在开发当中的的一些经验,仅供参考. 移动web开发规范 一.头 ...
- php与数据库代码开发规范
php与数据库代码开发规范 1/25/2016 6:00:31 PM php对各类变量命名规范 目录名 文件命名 局部变量命名 使用英文动词名词,用下划线作为单词的分割,所有字母均使用小写 目录 up ...
- 【敏捷开发】Android团队开发规范
这里说的开发规范分成目录规范,项目和包名的命名规范,类,方法,变量和常量的命名规范这几种. 目录规范 目录规范——在开发中整体文件夹组织结构. Requirement——需求文档文件夹 Design— ...
- 从零开始编写自己的C#框架(3)——开发规范
由于是业余时间编写,而且为了保证质量,对写出来的东西也会反复斟酌,所以每周只能更新两章左右,请大家谅解,也请大家耐心等待,谢谢大家的支持. 初学者应该怎样学习本系列内容呢?根据我自己的学习经验,一般直 ...
- 从零开始编写自己的C#框架(3)——开发规范(转)
由于是业余时间编写,而且为了保证质量,对写出来的东西也会反复斟酌,所以每周只能更新两章左右,请大家谅解,也请大家耐心等待,谢谢大家的支持. 初学者应该怎样学习本系列内容呢?根据我自己的学习经验,一般直 ...
- Web前端开发规范文档(google规范)
(Xee:其实没什么规范约束,但是养成一种好习惯,何乐而不为?) 区分大小写 xhtml 区分大小写,xhtml要求 标签名 属性名 值都要小写,并且要有双引号和 标签闭合. css 元素名称以及i ...
- 从" ThinkPHP 开发规范 "看 PHP 的命名规范和开发建议
稍稍水一篇博客,摘抄自Think PHP 的开发规范,很有引导性,我们可以将这些规范实践到原生 PHP 中. 命名规范 使用ThinkPHP开发的过程中应该尽量遵循下列命名规范: 类文件都是以.cla ...
随机推荐
- 老调重弹:JDBC系列 之 <驱动载入原理全面解析>
前言 近期在研究Mybatis框架,因为该框架基于JDBC.想要非常好地理解和学习Mybatis,必需要对JDBC有较深入的了解.所以便把JDBC 这个东东翻出来.好好总结一番,作为自己的笔记,也是给 ...
- phalcon之视图缓存
phalcon官方站点上的视图缓存用法根本就是不通的 现提供一种行的通的方法例如以下: public function testAction() { if( $this->view->ge ...
- bootstrap课程13 bootstrap的官方文档中有一些控件的使用有bug,如何解决这个问题
bootstrap课程13 bootstrap的官方文档中有一些控件的使用有bug,如何解决这个问题 一.总结 一句话总结:因为演示是正常的,所以检查演示效果的代码,把那一段相关的都弄过来就可以了 ...
- 含有打印、统计DataGridView(2)
/// <summary> /// 导出数据到Excel /// </summary> public void loa ...
- LayUI-Table表格渲染
记项目中又一表格使用方法,项目首选是使用BootstrapTable的,但是经过多番查证与调试,始终没有把固定列的功能调试成功,找到的成功的例子原样照搬都不行,文件引入也都没有问题,实在搞不懂了,如果 ...
- 前端面试题(JavaScript)
(前端面试题大全,持续更新) 箭头函数特点?箭头函数和普通函数的区别 手写懒加载(考虑防抖和重复加载问题) 手写bind(为什么要加预参数,为什么要加new) apply, call, bind ne ...
- nodeJS+socket.io传递消息
服务器端 安装express,socket.io npm install express --save-dev npm install socket.io --save app.js const ex ...
- Eclipse Class Decompiler——Java反编译插件手工配置方法
最近在eclipse上配置了java反编译插件,但是不好用,原因是我的eclipse之前有手动配置过一些类似的java反编译插件,当我将原来的插件完全卸载后重新配置才正常配置上去,自动配置java反编 ...
- [D3] Reuse Transitions in D3 v4
D3 transitions start executing as soon as they’re created, and they’re destroyed once they end. This ...
- 每天自动备份MySQL数据库的shell脚本
经常备份数据库是一个好习惯,虽然数据库损坏或数据丢失的概率很低,但一旦发生这种事情,后悔是没用的.一般网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行.我们需要一种安全的,每天自动备份的方法 ...