非常感谢大家的支持。
上篇文章野生程序员,请认清你的野性(一)是笔者来简书之后的第一篇文章。
没有想到第一篇文章就能破千,真心感谢大家的支持,也让我看到了这么多关注野生程序猿的朋友。
当然我相信也有不少跟我一样的野生程序猿。
今天我们继续来谈谈关于野生。
大家都知道,我是一只野生的程序猿。
所以我认识很多跟我一样的野生程序猿,他们有一个非常棒的特点。
那就是自学能力非常强!
野生程序猿是之所以自嘲“野生”,就是因为没有领路人,没有老师教,完全都是自学,自己摸索。
我们是与众不同的,因为我们热爱编程!
但我们也是可悲的。因为没有人告诉我们该遵守什么规范。
下面给大家简单说点PHP的编码规范。
namespace 以及 use 声明
namespace 声明后 必须 插入一个空白行。
所有 use 必须 在 namespace 后声明。
每条 use 声明语句 **必须 **只有一个 use 关键词。
use 声明语句块后 必须 要有一个空白行。
<?php
namespace Vendor\Package;
use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
// ... additional PHP code ...
扩展与继承
关键词 extends 和 implements 必须 写在类名称的同一行。
<?php
namespace Vendor\Package;
use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class ClassName extends ParentClass implements \ArrayAccess, \Countable
{
// constants, properties, methods
}
implements 的继承列表也可以分成多行,这样的话,每个继承接口名称都必须分开独立成行,包括第一个。
<?php
namespace Vendor\Package;
use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class ClassName extends ParentClass implements
\ArrayAccess,
\Countable,
\Serializable
{
// constants, properties, methods
}
属性
每个属性都必须添加访问修饰符。
一定不可使用关键字 var
声明一个属性。
每条语句一定不可定义超过一个属性。
不要使用下划线作为前缀,来区分属性是 protected 或 private。
<?php
namespace Vendor\Package;
class ClassName
{
public $foo = null;
}
方法
所有方法都必须添加访问修饰符。
不要使用下划线作为前缀,来区分方法是 protected 或 private。
方法名称后一定不能有空格符,其开始花括号必须独占一行,结束花括号也必须在方法主体后单独成一行。参数左括号后和右括号前一定不能有空格。
一个标准的方法声明可参照以下范例,留意其括号、逗号、空格以及花括号的位置。
<?php
namespace Vendor\Package;
class ClassName
{
public function fooBarBaz($arg1, &$arg2, $arg3 = [])
{
// method body
}
}
方法的参数
参数列表中,每个参数后面必须要有一个空格,而前面一定不能有空格。
有默认值的参数,必须放到参数列表的末尾。
<?php
namespace Vendor\Package;
class ClassName
{
public function foo($arg1, &$arg2, $arg3 = [])
{
// method body
}
}
参数列表可以分列成多行,这样,包括第一个参数在内的每个参数都必须单独成行。
拆分成多行的参数列表后,结束括号以及方法开始花括号 必须 写在同一行,中间用一个空格分隔。
<?php
namespace Vendor\Package;
class ClassName
{
public function aVeryLongMethodName(
ClassTypeHint $arg1,
&$arg2,
array $arg3 = []
) {
// method body
}
}
方法及函数调用
方法及函数调用时,方法名或函数名与参数左括号之间一定不能有空格,参数右括号前也 一定不能有空格。每个参数前一定不能有空格,但其后必须有一个空格。
<?php
bar();
$foo->bar($arg1);
Foo::bar($arg2, $arg3);
参数可以分列成多行,此时包括第一个参数在内的每个参数都必须单独成行。
<?php
$foo->bar(
$longArgument,
$longerArgument,
$muchLongerArgument
);
控制结构
...
还想看?
你的野生特质呢!!
这套规范名为PSR-2,自己Google去吧~
O(∩_∩)O哈哈哈~
---
我们是野生的,但请认清你的野性:野生不是各种不规范,野生只是一种特质!
我是闫大伯,一只野生程序猿。