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 ...
随机推荐
- activity-栈相关属性
1.启动任务栈 第一种,动作设置为“android.intent.action.MAIN”,类别设置为“android.intent.category.LAUNCHER”,可以使这个ACT(activ ...
- 82.管道实现cgi内存多线程查询
总体思路就是客户端写入要查询的数据到管道中,服务器端从管道读取,然后写入随机文件,再把文件名写入管道,然后客户端再读取文件 服务器端 设置缓冲区大写,设置管道名字,以及标识有多少个线程等 //设置缓存 ...
- openGLES(一)
准备工作 工具安装 jdk安装 sdk安装 IDE开发环境 一个手机 推荐使用真机,它可以反映真实的性能和结果. 虚拟机创建 Android SDK 执行SDK Manager.exe Tools-- ...
- 【例题 7-4 UVA - 524】Prime Ring Problem
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 预处理出所有的答案. 打表输出. [代码] import java.util.ArrayList; import java.util ...
- Spring学习总结(7)——applicationContext.xml 配置文详解
web.xml中classpath:和classpath*: 有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件 ...
- hdu5389
题意:给你n个人每一个人手里有一个id,然后给你两个数a和b.让你把n个人分为两组.条件是 一组人手里的id和等于a 另一组人的id和等于b,这里的和是指加起来之后对9取余,假设sum等于0 则sum ...
- 1.6 Python基础知识 - for循环
在循环语句中,除了while循环外,还有一种循环叫for循环的循环语句,for循环语句用于遍历可迭代(什么是迭代?以及迭代的相关知识,我们到后面再进行阐述,这里只要记住就可以了.)对象集合中的元素,并 ...
- 第一个hello word 驱动载入失败--------
今天尝试自己载入第一个驱动模块,依据惯例hello word 然后失败了,如今说明我的操作过程.请个位看看. 首先我的内核版本号: 模块代码与MAKEFILE #include<linux/in ...
- php 获取数组第一个key 第一个键值对 等等
PHP 获取数组中的第一个元素或最后一个元素的值或者键值可以使用 PHP 自带的数组函数. PHP 获取数组中的第一个元素的值或者键值所使用的函数: current() - 返回数组中当前元素值(即: ...
- 【习题 3-2 UVA - 1586】Molar mass
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟. 主要是找那个数字. [代码] #include <bits/stdc++.h> using namespace ...