- 文件开头必须用
<?php
- 在每一行的后面不能有多余的空格
- 文件必须使用 无bomUTF-8
- 用空格代替 tab 4个空格代替缩进
- 类文件名需用首字母大写
StudyShell
- 方法名需用 驼峰命名
addJoin
- 声明类常量必须英文单词大写下划线分隔
CONSTANT_NUM
每一行不应该超过80个字符, 超过部分,回车进行分割
添加空行可以来改善可读性和指示相关的代码块。
10.命名空间单独占一行 引用的类为一块 两者用空行隔开 引用的类之后 便是类的声明 两者仍需空一行
11 参数列表需要用空格隔开
public function foo($arg1, &$arg2, $arg3 = [])
{
// method body
}
12 调用参数时
bar();
$foo->bar($arg1);
Foo::bar($arg2, $arg3);
==================================
-------if else if -------------
if ($expr1) {
// if body
} else if ($expr2) {
// elseif body
} else {
// else body;
}
---------switch, case---------
switch ($expr) {
case 0:
echo 'First case, with a break';
break;
case 1:
echo 'Second case, which falls through';
// no break
case 2:
case 3:
case 4:
echo 'Third case, return instead of break';
return;
default:
echo 'Default case';
break;
}
---------while, do while---------
while ($expr) {
// structure body
}
do {
// structure body;
} while ($expr);
-------for ---------
for ($i = 0; $i < 10; $i++) {
// for body
}
------foreach------------
foreach ($iterable as $key => $value) {
// foreach body
}
------try catch ---------------
try {
// try body
} catch (FirstExceptionType $e) {
// catch body
} catch (OtherExceptionType $e) {
// catch body
}
-----------
===================================
<?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();
} else if ($a > $b) {
$foo->bar($arg1);
} else {
BazClass::bar($arg2, $arg3);
}
}
final public static function bar()
{
// method body
}
}
参考
http://www.php-fig.org/psr/psr-2/
http://www.php-fig.org/psr/psr-1/