tp开发规范(自我总结2)
开发规范
命名规范
遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:
目录和文件
目录使用小写+下划线;
类库、函数文件统一以.php为后缀;
类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;
类(包含接口和Trait)文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
类名(包括接口和Trait)和文件名保持一致,统一采用驼峰法命名(首字母大写);
函数和类、属性命名
类的命名采用驼峰法(首字母大写),例如 User、UserType;
方法的命名使用驼峰法(首字母小写),例如 getUserName;
属性的命名使用驼峰法(首字母小写),例如 tableName、instance;
特例:以双下划线__打头的函数或方法作为魔术方法,例如 __call 和 __autoload;
常量和配置
常量以大写字母和下划线命名,例如 APP_PATH;
配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert;
环境变量定义使用大写字母和下划线命名,例如APP_DEBUG;
数据表和字段
数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表及字段命名
注意:请理解并尽量遵循以上命名规范,可以减少在开发过程中出现不必要的错误
语法规范
尽量使用php7新语法
每个 namespace 命名空间声明语句和 use 声明语句块后面,必须 插入一个空白行
类的开始花括号({) 必须 写在类声明后自成一行,结束花括号(})也 必须 写在类主体后自成一行
方法的开始花括号({) 必须 写在函数声明后自成一行,结束花括号(})也 必须 写在函数主体后自成一行。
类的属性和方法 必须 添加访问修饰符(private、protected 以及 public),abstract 以及 final 必须 声明在访问修饰符之前,而 static 必须 声明在访问修饰符之后
控制结构的关键字后 必须 要有一个空格符,而调用方法或函数时则 一定不可 有
控制结构的开始花括号({) 必须 写在声明的同一行,而结束花括号(}) 必须 写在主体后自成一行
纯 PHP 代码文件 必须 省略最后的 ?> 结束标签
所有方法,类,控制器类,都 必须 添加访问修饰符
/** * 中文注释 * @param string $str 声明类型 * @param array $arr * @return bool */ public function action(string $str, array $arr){ return true; }
参数列表中,每个逗号后面 必须 要有一个空格,而逗号前面 一定不可 有空格
function foo($arg1, &$arg2, $arg3 = []) { // method body }
参数 可以 分列成多行,此时包括第1个参数在内的每个参数都 尽量 单独成行。
$foo->bar( $longArgument, $longerArgument, $muchLongerArgument );
标准的 if 结构如下代码所示,请留意「括号」、「空格」以及「花括号」的位置, 注意 else 和 elseif 都与前面的结束花括号在同一行
赋值等号前后必须加空格符
PHP 7.1+ 常用新语法
1.三元运算符
true]; //之前 echo isset($arr['azhe']) ? $arr['azhe'] : ''; //之后 echo $arr['azhe'] ?? '';
2.define() 定义常量数组
define('ARR',['a','b']);
3.命名空间优化
<?php
//PHP7之前语法
use FooLibrary\Bar\Baz\ClassA;
use FooLibrary\Bar\Baz\ClassB;
// PHP7新语法写法
use FooLibrary\Bar\Baz\{ ClassA, ClassB};
上一篇:暂无数据
下一篇:Thinkphp6隐藏应用名方法