php项目开发规范模板,PHP开发规范整理 - jackie的个人空间 - OSCHINA - 中文开源技术交流社区...

PHP代码文件必须以不带BOM的UTF-8编码。

PHP代码中应该只定义类、函数、常亮等声明,或其他会产生副作用的操作(如:生成文件输出以及以及修改PHP的配置文件),二者只能选其一。 <?php

//副作用的反面示例

init_set("error_reporting", E_ALL);

include "somefileA.php";

require "somefileB.php";

function starcard()

{

echo "51starcard\n";

} <?php

//副作用的正面示例

if (!function_exists("starcard")){

function starcard()

{

echo "51starcard\n";

}

}

if (!function_exists("jht")){

function jht()

{

echo "jht\n";

}

}

类的命名必须遵循大写开头的驼峰命名规范。

类中的常量所有字母都必须大写,单词用下划线分隔。

方法名称必须遵循小写开头的驼峰命名规范。 <?php

class ClassExampleA

{

const CONST_EXAMPLE = "const_example";

public exampleMethod()

{

echo "example method\n";

}

}

代码必须使用4个空格符,而不是TAB键进行缩进。

每行代码不该超过80个字符,大于80个字符的应该折成多行,非空行后一定不能有多余的空格,每行一定不能有多条语句。

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

//true, false, null, abstract, private, public...

return false;

每个namespace名称空间声明语句和use语句块后面,必须插入一个空白行。

所有的use必须在namespace后声明,每条use声明语句必须只有1个use关键字。 <?php

namespace Istar\Example;

use Istar\DemoA;

use Istar\DemoB;

class DemoC

{

}

类的开始花括号必须独占一行,结束花括号也必须在类主体后独占一行。

关键字extends和implements必须写在类名称的同一行,若implements列表分成多行,则每个接口名必须独立成行。 <?php

namespace Istar\Package;

use FooClass;

use BarClass as Bar;

class ClassA extends ParentClass implements \ArrayAccess, \Countable

{

}

class ClassB extends ParentClass implements

\ArrayClass,

\Countable

{

}

方法的开始花括号必须写在方法声明后自成一行,结束花括号也必须写在方法主体后自成一行。

类的属性和方法必须添加访问修饰符,abstract和final必须声明在访问修饰符之前,而static必须声明在访问修饰符之后。

方法名,属性名不可通过下划线来区分private或public。

方法的参数列表中,每个逗号后面必须要有一个空格,而逗号前面则一定不可有空格,有默认值的参数,必须放在参数列表的末尾。 <?php

class ClassA

{

public function methodA($arg1, $arg2, $arg3 = [])

{

}

final public static function methodB()

{

}

}

控制结构的关键词后必须有一个空格,左括号后和右括号前一定不可有空格,右括号与开始花括号间必须有一个空格,结束花括号必须在结构体主体后单独成行。 <?php

if ($exp1) {

//if body

} elseif {

//elseif body

} else {

//else body

} <?php

switch ($expr) {

case 0:

echo "case 0";

break;

case 1:

echo "case 1";

// no return

case 2:

case 3:

case 4:

break;

default:

echo "default";

break;

} <?php

while ($expr) {

// while body

}

do {

// while body

} while ($expr); <?php

for ($i=0; $i < 10; $++) {

echo "{$i}\n";

}

foreach ($iterable as $key => $value) {

echo $key . $value . "\n";

} <?php

try {

// body

} catch (\Exception $e) {

echo $e->getMessage();

}

闭包声明时,关键字function和use的前后都必须要有一个空格,开始花括号必须写在声明的同一行,结束花括号必须紧跟主体结束的下一行。

闭包中的参数列表规则,同等于一般函数的参数列表规则。 <?php

$closureA = function ($arg1, $arg2) {

};

$closureB = function ($arg1, $arg2) use ($var1, $var2) {

}

$closureC = function (

$longArgu1,

$longArgu2

) {

};

$closureD = function (

$longArgu1,

$longArgu2

) use (

$longVar1,

$longVar2

){

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值