coding code
change world

自己遵循多年的PHP代码规范

PHP代码规范(非完全遵循psr-1,psr-2)

  • 代码tab键进行缩进,indent_size = 4
  • 每行的字符数应该软性保持在80个之内, 不可多于120个
  • 每个 namespace 命名空间声明语句和 use 声明语句块后面,必须插入一个空白行。
  • 类的开始花括号({)必须写在函数声明后自成一行,结束花括号(})也必须写在函数主体后自成一行。
  • 方法的开始花括号({)必须写在函数声明后自成一行,结束花括号(})也必须写在函数主体后自成一行。
  • 控制结构的关键字后必须要有一个空格符,而调用方法或函数时则一定不能有。
  • 控制结构的开始花括号({)必须写在声明的同一行,而结束花括号(})必须写在主体后自成一行。

1.1 例子

以下代码展示了绝大部分上述规范

<?php
namespace Vendor\Package;

use FooInterface;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;

class Foo extends Bar implements FooInterface
{
	public function sampleFunction($a, $b = null)
	{
		if ($a === $b) {
			bar();
		} elseif ($a > $b) {
			$foo->bar($arg1);
		} else {
			BazClass::bar($arg2, $arg3);
		}
	}
	
	final public static functionbar()
	{
		// method body
	}
}

2.2 文件

  • 所有PHP文件必须使用Unix LF (linefeed)作为行的结束符。
  • 所有PHP文件必须以一个空白行作为结束。
  • 纯PHP代码文件必须省略最后的 ?> 结束标签。

关键字 以及 True/False/Null

PHP所有 关键字必须全部小写。 常量 true 、false 和 null 也必须全部小写。

方法的参数

参数列表中,每个参数后面必须要有一个空格,而前面一定不能有空格。

有默认值的参数,必须放到参数列表的末尾。

例子:

<?php
namespace Vendor\Package;

class ClassName
{
	public functionfoo($arg1, &$arg2, $arg3 = [])
	{
	// method body
	}
}

PHPSTORM设置

  • 勾选 Editor => General => Appearance => Show whitespaces
  • 安装editconfig插件,以下提供一份本公司通用的editconfig
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = whitespace
indent_size = 4
trim_trailing_whitespace = false

[*.php]
end_of_line = lf
indent_style = tab
indent_size = 4

[*.md]
trim_trailing_whitespace = false

[*.{yml,yaml}]
indent_size = 2
赞(0) 打赏
未经允许不得转载:卢云华个人日志 » 自己遵循多年的PHP代码规范
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址