thinkphp5开发规范(加强复习之前的)

一、总结

一句话总结:和类相关的采用驼峰命名法:变量,函数,类,方法,属性采用驼峰命名发;数据库及文件及配置参数是小写字母加下划;常量大写加下划线

1、ThinkPHP5遵循哪种命名规范和哪种自动加载规范?

解答:PSR-2命名规范和PSR-4自动加载规范。

2、thinkphp中的目录如何命名?

解答:目录使用小写+下划线。

3、thinkphp中的类库、函数文件统一以什么为后缀?

解答:.php。

4、thinkphp中的类的文件名均以什么定义,并且什么的路径和类库文件所在路径一致?

解答:命名空间、命名空间。

5、thinkphp中的类文件采用什么法命名?

解答:驼峰法命名(首字母大写)。

6、thinkphp中的除类以外的文件采用什么方式命名?

解答:小写+下划线命名。

7、thinkphp中的类的命名的注意事项是什么?

解答:类的命名采用驼峰法(首字母大写),例如 UserUserType,默认不需要添加后缀,例如UserController应该直接命名为User

8、thinkphp中的函数的命名是怎样?

解答:使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip

9、thinkphp中的方法怎么命名?

解答:驼峰法(首字母小写),例如 getUserName;。

10、thinkphp中的属性怎么命名?

解答:驼峰法(首字母小写),例如 tableNameinstance;。

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\Indexapp\index\model\User。。

16、php中的关键字是语言结构的一部分么?

解答:是的。

 

二、thinkphp5开发规范

命名规范

ThinkPHP5遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:

目录和文件

  • 目录使用小写+下划线;
  • 类库、函数文件统一以.php为后缀;
  • 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
  • 类文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
  • 类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);

函数和类、属性命名

  • 类的命名采用驼峰法(首字母大写),例如 UserUserType,默认不需要添加后缀,例如UserController应该直接命名为User
  • 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip
  • 方法的命名使用驼峰法(首字母小写),例如 getUserName
  • 属性的命名使用驼峰法(首字母小写),例如 tableNameinstance
  • 以双下划线“__”打头的函数或方法作为魔术方法,例如 __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\Indexapp\index\model\User

请避免使用PHP保留字(保留字列表参见 http://php.net/manual/zh/reserved.keywords.php )作为常量、类名和方法名,以及命名空间的命名,否则会造成系统错误。

php关键字列表

这些词语在 PHP 中有着特殊的意义。它们中有些像是函数,有些像是常量……但是它们不是的,它们只是语言结构的一部分。不能使用它们的任何一个作为常量、方法名或是类名。但是可以将它们作为变量名使用,不过这样会导致混淆。

从PHP7.0.0开始这些关键字允许被用作类的属性、常量以及类的方法名,或者接口名和traints名,除了class不能被用作常量名。

PHP 关键词
__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 print
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中的类的命名的注意事项是什么?

解答:类的命名采用驼峰法(首字母大写),例如 UserUserType,默认不需要添加后缀,例如UserController应该直接命名为User

8、thinkphp中的函数的命名是怎样?

解答:使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip

9、thinkphp中的方法怎么命名?

解答:驼峰法(首字母小写),例如 getUserName;。

10、thinkphp中的属性怎么命名?

解答:驼峰法(首字母小写),例如 tableNameinstance;。

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\Indexapp\index\model\User。。

16、php中的关键字是语言结构的一部分么?

解答:是的。

 

thinkphp5开发规范(加强复习之前的)的更多相关文章

  1. thinkphp5学习(一)——thinkphp5的目录结构与开发规范

    开发规范: 目录和文件 目录使用小写+下划线: 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致: 类文件采用驼峰法命名(首字母大写),其它文 ...

  2. 我的公司培训讲义(1):.NET开发规范教程

    这是1年多以前我在公司所做讲座的讲义,现在与园友们分享,欢迎拿去使用.一起讨论.文中有若干思考题,对园友们是小菜一碟.另有设计模式讲义一篇,随后发布.博文上了首页,感谢博客园团队推荐,也感谢所有园友的 ...

  3. 转载:移动web开发规范

    本文来源:http://blog.csdn.net/joueu/article/details/44329825 以下是规范建议,均是日常在开发当中的的一些经验,仅供参考. 移动web开发规范 一.头 ...

  4. php与数据库代码开发规范

    php与数据库代码开发规范 1/25/2016 6:00:31 PM php对各类变量命名规范 目录名 文件命名 局部变量命名 使用英文动词名词,用下划线作为单词的分割,所有字母均使用小写 目录 up ...

  5. 【敏捷开发】Android团队开发规范

    这里说的开发规范分成目录规范,项目和包名的命名规范,类,方法,变量和常量的命名规范这几种. 目录规范 目录规范——在开发中整体文件夹组织结构. Requirement——需求文档文件夹 Design— ...

  6. 从零开始编写自己的C#框架(3)——开发规范

    由于是业余时间编写,而且为了保证质量,对写出来的东西也会反复斟酌,所以每周只能更新两章左右,请大家谅解,也请大家耐心等待,谢谢大家的支持. 初学者应该怎样学习本系列内容呢?根据我自己的学习经验,一般直 ...

  7. 从零开始编写自己的C#框架(3)——开发规范(转)

    由于是业余时间编写,而且为了保证质量,对写出来的东西也会反复斟酌,所以每周只能更新两章左右,请大家谅解,也请大家耐心等待,谢谢大家的支持. 初学者应该怎样学习本系列内容呢?根据我自己的学习经验,一般直 ...

  8. Web前端开发规范文档(google规范)

    (Xee:其实没什么规范约束,但是养成一种好习惯,何乐而不为?) 区分大小写 xhtml  区分大小写,xhtml要求 标签名 属性名 值都要小写,并且要有双引号和 标签闭合. css 元素名称以及i ...

  9. 从" ThinkPHP 开发规范 "看 PHP 的命名规范和开发建议

    稍稍水一篇博客,摘抄自Think PHP 的开发规范,很有引导性,我们可以将这些规范实践到原生 PHP 中. 命名规范 使用ThinkPHP开发的过程中应该尽量遵循下列命名规范: 类文件都是以.cla ...

随机推荐

  1. android设置Activity背景色为透明的3种方

    方法一:这种方法比较简单,只有一个步骤,只需要在配置文件中把需要设置为透明的activity的样式设置为 Android:theme="@android:style/Theme.Transl ...

  2. ES5, ES6, ES2016, ES.Next: JavaScript 的版本是怎么回事?

    原网址:http://huangxuan.me/2015/09/22/js-version/ JavaScript 有着很奇怪的命名史. 1995 年,它作为网景浏览器(Netscape Naviga ...

  3. 关于laravel框架分页报错的问题

    因为laravel框架有自己的分页封装,所以与其他框架相比laravel框架的分页的实现要方便的多 只要分别在php脚本与视图中使用 $data=DB::table('index_pic')-> ...

  4. Stack overflow 编译能通过,运行时出现Stack overflow

    Stack overflow 编译能通过,运行时出现Stack overflow 大家都知道,Windows程序的内存机制大概是这样的,全局变量(局部的静态变量本质也属于此范围)存储于堆内存,该段内存 ...

  5. ArcGIS 10.5 新功能

    ArcGIS 10.5正式发布,打造智能的Web GIS平台 2017年新年来临之际,ArcGIS 10.5正式发布. 历经几个版本,ArcGIS10.5已经革新为一个智能的以Web为中心的地理平台, ...

  6. [Node.js] Node Util Promisify - How to Convert Callback Based APIs to Promise-based

    Since Node.js V8.0+, it introduces a 'util' libaray, which has a 'promisfy' function. It can conver ...

  7. ASM学习笔记--ASM 4 user guide 第一章翻译

    ASM是什么? 借用别人的话 :ASM 是一个 Java 字节码操控框架.它能被用来动态生成类或者增强既有类的功能. ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机 ...

  8. treap-名次树-树堆

    #include <cstring> #include <cstdio> #include <cstdlib> using namespace std; struc ...

  9. WinXP局域网共享设置

    关闭局域网共享 1.不允许SAM帐户和共享的匿名枚举(系统默认是允许的). 组策略-计算机配置-Windows 设置-安全设置-本地安全策略-安全选项-网络访问:不允许SAM帐户和共享的匿名枚举. 设 ...

  10. 洛谷—— P1168 中位数

    https://www.luogu.org/problem/show?pid=1168 题目描述 给出一个长度为N的非负整数序列A[i],对于所有1 ≤ k ≤ (N + 1) / 2,输出A[1], ...