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 ...
随机推荐
- [MySQL 5.1 体验]MySQL 实例管理器 mysqlmanager 初试
原贴:http://imysql.cn/node/313 [MySQL 5.1 体验]MySQL 实例管理器 mysqlmanager 初试 周二, 2007/06/19 - 22:10 - yejr ...
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第一篇:准备工作
摘要 本文将简要介绍这个文章系列的目的.形式及大体内容.并且完成开始学习这个系列前所必要的准备工作. 前言 ASP.NET MVC作为微软官方的MVC解决方案,推出有一段时间了.可 ...
- Android Studio设置图片背景及主题设置
因为Android Studio是基于IDEA的,所以IDEA里面能用的插件Android Studio也能用,这次图片背景是依赖IDEA下的一个插件,名为BackgroundImage的插件,用户可 ...
- OC学习篇之---Foundation框架中的NSDictionary类以及NSMutableDictionary类
今天来看一下Foundation框架中的NSDictionary类,NSMutableDictionary类,这个和Java中的Map类很想,OC中叫字典,Java中叫Map,还有字典是无序的,这个和 ...
- IT人都很忙(茫)
我发现,身边的盆友都很忙,要么在加班,要么加班刚回家:要么在出差,要么刚出差回来. 难道搞IT的人都很忙么?忙还是茫? 大学期间,不知道未来要干什么,很多人也不清楚应该学习哪些知识和技能,是否需要考证 ...
- 用CSS实现阴阳八卦图等图形
CSS还是比较强大的,可以实现中国古典的"阴阳八卦图"等形状. 正方形 #rectangle { width: 200px; height: 100px; backgrount-c ...
- html始终让元素居中显示,背景图铺满随便拖动不出界
首先.写两个class属性 body { margin: 0; padding: 0; height: 100%; width: 100%; background-image: url(../Cont ...
- 关于Android中设置闹钟的相对完善的解决方案
前些时候,有人在我「非著名程序员」微信公众号的后台问我有没有设置闹钟的demo,我当时说承诺为大家写一个,一直没空,直到最近又有人跟我要,我决定抽时间写一个吧.确实设置闹钟是一个比较麻烦的东西.我在这 ...
- Linux动态链接库的创建与使用
Linux动态链接库的创建与使用1. 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数 ...
- Java 开源博客——B3log Solo 0.6.7 正式版发布了!
Java 开源博客 -- B3log Solo 0.6.7 正式版发布了!欢迎大家下载. 另外,欢迎观摩 B3log 团队的新项目:Wide,也非常欢迎大家参与进来 :-) 特性 基于标签的文章分类 ...