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 ...
随机推荐
- 3lession-python编程规范
今天继续学习python,内容主要就是python编程过程中的一些规范,包括注释.换行等 1.注释 所有的注释都是以#开头,注释可以单独占有一行,也可以放到语句的末尾.因为python没有多行注释,所 ...
- 109.vprintf vfprintf vscanf vfscanf
vprintf //输出到屏幕 int POUT(char *str, ...) { va_list arg_p=NULL; //读取 va_start(arg_p, str); //接受可变参数 i ...
- [转]Linq使用心得——SelectMany替代二重foreach循环
本篇记录了Linq学习的心得,较为浅显,各位大牛请轻拍. 学习Linq其实已经很久了,但是一直没有使用的习惯,故水平也始终没有提高.近来刻意强迫自己用Linq来替代C# 2.0的一些写法.这里有一些心 ...
- cookie记住用户名密码
<script src="js/jquery.cookie.js" type="text/javascript"></script> $ ...
- 【Codeforces Round #432 (Div. 2) A】 Arpa and a research in Mexican wave
[链接]h在这里写链接 [题意] 在这里写题意 [题解] t<=k,输出t t>=n,输出k-t+n 其他情况都是k [错的次数] 0 [反思] 在这了写反思 [代码] /* */ #in ...
- 四种布局JS
现代 Web 开发在将体验和功能做到极致的同时,对于美观的追求也越来越高.在推荐完图形库之后,再来推荐一些精品的独立 UI 组件.这些组件可组合在一起,形成美观而交互强大的 Web UI . 给 We ...
- angular 响应式自定义表单控件—注册头像实例
1. 组件继承ControlValueAccessor,ControlValueAccessor接口需要实现三个必选方法 writeValue() 用于向元素中写入值,获取表单的元素的元素值 regi ...
- python基础-合并列表
1.append() 向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加 2.extend() 向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加 3.+ 直接用+ ...
- 原生js大总结二
011.if语句的优化 1.把次数多的条件和执行结果放到最前面 2.减少第一次无用的判断,可以用嵌套判断 3.判断语句禁止出现三次嵌套 012.谈谈你对switch的理解 1. ...
- jQuery常用的API
1.jQuery给标签添加子元素(父子关系) jQuery对象.append("子"); 将div标签插入到ul标签之后 $("ul").append($('d ...