PSR-1 基本编码规范
来源:互联网 发布:java 黑白棋 编辑:程序博客网 时间:2024/05/01 10:22
翻译自
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md
基本代码规范
1、概述
必须
使用<?php ?>
或是<?= ?>
这两种标签- PHP 代码中
必须
使用UTF-8 without BOM
编码方式- 每个文件
建议
只用来声明(类class
,函数function
,常量constant
等) 或者只用来做一些辅助操作(输出信息,修改配置等),但是一个文件不建议
同时做这两件事- 命名空间
Namespace
和类class
必须
遵循”autoloading” PSR标准: [PSR-0, PSR-4].- 类名(
class
)必须
使用大驼峰命名法,如StudlyCaps
- 类中的常量
必须
只能用大写字母
和_
来命名- 方法名(
method
)必须
使用驼峰命名法,如camelCase
2、文件
2.1. PHP 标签
PHP 代码中 必须
使用 <?php ?>
或者 <?= ?>
,而不可使用其他标签
2.2. 字符编码
PHP 代码 必须
使用 UTF-8 without BOM
编码
2.3 Side Effects(译者注:可理解为辅助操作,其他操作,副操作)
每个文件 建议
只用来声明(类 class
,函数 function
,常量 constant
等) 或者只用来做一些辅助操作(输出信息,修改配置等),但是一个文件 不建议
同时做这两件事
side effects
的意思可以理解为:在包含文件时,执行的逻辑操作与所声明的类(class),函数(function),常量(constant)等没有直接的关系
side effects
可以包含这些操作但并不局限于此:输出信息,显式地使用 require
或 include
,连接外部服务,修改 ini
配置,触发错误或异常,修改全局或者静态变量,读取或写入文件等等
下面是一个同时拥有声明和 side effects
的例子,应该避免:
<?php// side effect: change ini settingsini_set('error_reporting', E_ALL);// side effect: loads a fileinclude "file.php";// side effect: generates outputecho "<html>\n";// declarationfunction foo(){ // function body}
这是一个只包含声明的例子,应该建议的方式:
<?php// declarationfunction foo(){ // function body}// conditional declaration is *not* a side effectif (! function_exists('bar')) { function bar() { // function body }}
3、命名空间 namespace
和类名 class name
命名空间 Namespace
和类 class
必须
遵循”autoloading” PSR标准: [PSR-0, PSR-4].
这意味着每个文件中只能有一个类 class
,并且每个类 class
至少要有一级命名空间 namespace
:即一个顶级的 vendor name
类名(class
)必须
使用大驼峰命名法,如 StudlyCaps
PHP5.3
之后的 必须
使用正式的命名空间 namespace
,例:
<?php// PHP 5.3 and later:namespace Vendor\Model;class Foo{}
PHP5.2.x
和之前的版本 建议
用伪命名空间 Vendor_
作为类名的前缀
<?php// PHP 5.2.x 及之前:class Vendor_Model_Foo{}
4、类的常量 constant
,属性 property
,方法 method
类 class
指所有的类 class
,接口 interface
和特性 trait
4.1. 常量 constant
类中的常量 必须
只能用 大写字母
和 _
来命名,例:
<?phpnamespace Vendor\Model;class Foo{ const VERSION = '1.0'; const DATE_APPROVED = '2012-06-01';}
4.2. 属性 property
这个指南中不再对 StudlyCaps
,$camelCase
或是 $unser_score
中的某一个风格做特别推荐,由个人喜好而定
但不管你如何定义,都 建议
在一定范围内保持风格的一致,这个范围 可能
是 vendor
,package
,class
,或者 method
4.3. 方法 method
方法名(method
)必须
使用驼峰命名法,如 camelCase
- PSR-1 基本编码规范
- [PSR规范]PSR-1基础编码规范
- PHP编码规范/PSR-1
- PSR-1 基本代码规范
- PSR-1 基本代码规范
- 「PSR 规范」PSR-1 基础编码规范
- PHP编码规范之PSR-1
- PHP PSR 1-4 编码规范
- PHP PSR-1 基本代码规范(中文版)
- PHP PSR-1 基本代码规范
- 1. PSR-1 --- 基本代码规范
- PHP PSR-1 基本代码规范(中文版)
- PHP PSR-1 基本代码规范(中文版)
- PHP PSR-1 基本代码规范(中文版)
- PHP PSR-1 基本代码规范
- PSR规范--php编码规范
- PHP-FIG PSR-1 # 基本编码标准
- PSR-1 基本代码规范和规范提示
- QT下moc的编程限制
- VS2003使用管理员权限打开后提示保存devenv.sln解决方法
- Django REST framework教程二: 请求和响应
- Linux命令行:pwd命令
- 蓝桥杯-基础练习-杨辉三角形
- PSR-1 基本编码规范
- Hadoop ClassPath
- 由Namespace冲突导致报错 类不明确。
- response、request的使用
- 周期字串
- linux 64位机编译32位程序
- LeetCode Excel Sheet Column Number JAVA
- CSP 最优配餐
- Android 三种常用多线程实现方式解析