在 fig-psr2 和 Laravel 的代码规范基础上,加上团队一些自己的习惯,总结出自己的一套以供交流学习。
首先阅读「PSR 规范」PSR-2 编码风格规范了解基础规范。后文主要是对其的一些补充。
namespace
应该与<?php
间有一行换行use
按照长度从短到长排序- 全部命名空间的类调用
use
申明代替\
<?php
namespace App;
use App;
use App\Bar;
use App\Services\Baz;
class Foo
{
App::run();
}
如果使用 Sublime 作为文本编辑器,可以使用 PHP Companion 来引入命名空间。配置
use_sort_length
为 true 就可以自动为use
按长度排序了。其他编辑器或者ide
应该可以找到类似插件。
所有的 }
之后必须有一行换行,{
上面也应该有一行换行
<?php
start();
if (true) {
// your code
}
end();
在 !
之后有一个空格
<?php
if (! $isTrue) {
// your code
}
return ! empty($data);
如果使用 PHP7.1
的话,有两个或以上异常做相同的处理,需要使用新的语法结构
<?php
try {
//
} catch (FirstException | SecondException $e) {
//
}
非类,接口,trait
的函数命名使用下划线命名,且先调用 function_exists
查看是否已经申明
<?php
if (! function_exists('code_style')) {
function code_style() {
// your code
}
}
或者,带上命名空间
<?php
namespave str;
function replace_assoc(array $replace, $subject) {
return str_replace(array_keys($replace), array_values($replace), $subject);
}
在 .
左右两边都有空格
<?php
$coding = 'coding';
echo 'php ' . $coding . ' style';
供学习交流,有不同看法欢迎和我们讨论,🍻🍻🍻