PSR-1
1.文件
1.1、php标签
php代码必须使用<?php ?>
长标签 或 <?= ?>
短输出标签, 不可使用其他自定义标签
1.2、php编码
php代码必须且只使用不带bom的utf-8
编码
1.3、副作用
副作用包含但不限于:
1.生成输出
2.直接的include和require
3.连接外部服务
4.修改ini操作
5.抛出错误和异常
一个php文件中要不就只定义新的声明,如类,函数,常量等不产生副作用的操作,要不就只书写产生副作用的逻辑操作,不应该两者都有
反面例子:
// 「副作用」:修改 ini 配置
ini_set('error_reporting', E_ALL);
// 「副作用」:引入文件
include "file.php";
// 「副作用」:生成输出
echo "<html>\n";
// 声明函数
function foo()
{
// 函数主体部分
}
正确的范例:
<?php
// 声明函数
function foo()
{
// 函数主体部分
}
// 条件声明 **不** 属于「副作用」
if (! function_exists('bar')) {
function bar()
{
// 函数主体部分
}
}
2.命名空间和类
根据规范类必须为一个文件,命名空间至少有一个层次
类的开头遵守以大写开头的驼峰命名规范
例如:
<?php
// PHP 5.3及以后版本的写法
namespace Vendor\Model;
class Foo
{
}
<?php
// 5.2.x及之前版本的写法
class Vendor_Model_Foo
{
}
3.类的常量、属性、方法
常量中所有字母必须大写,单词之间以下划线连接
<?php
namespace Vendor\Model;
class Foo
{
const VERSION = '1.0';
const DATE_APPROVED = '2012-06-01';
}
属性的命名可以遵循:
- 大写开头的驼峰
- 小写开头的驼峰
- 全小写,单词之间下划线连接
方法名命名规则:
方法名必须符合小写开头驼峰命名