PHP-FIG - PHP 标准规范
PHP 标准规范
PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。
PHP FIG,FIG 是 Framework Interoperability Group(框架可互用性小组)的缩写,由几位开源框架的开发者成立于 2009 年,从那开始也选取了很多其他成员进来(包括但不限于 Laravel, Joomla, Drupal, Composer, Phalcon, Slim, Symfony, Zend Framework 等),虽然不是「官方」组织,但也代表了大部分的 PHP 社区。
项目的目的在于:通过框架作者或者框架的代表之间讨论,以最低程度的限制,制定一个协作标准,各个框架遵循统一的编码规范,避免各家自行发展的风格阻碍了 PHP 的发展,解决这个程序设计师由来已久的困扰。
目前已表决通过了 6 套标准,已经得到大部分 PHP 框架的支持和认可。
本项目的主要面向对象是所有参与的各个成员(也就是各自框架的社区),这里是完整的 成员列表,当然,同时也欢迎其它 PHP 社区采用本规范。
此中文翻译由 @Summer 维护,主要针对「已通过」的 PSR 进行翻译,排版遵照 中文文案排版指北,更多讨论请前往 PHPHub。
按表决情况索引
已通过
| 序号 | 标题 | 撰稿者 | 协调者 | 发起人 |
|---|---|---|---|---|
| 1 | 基础编码规范 | Paul M. Jones | N/A | N/A |
| 2 | 编码风格规范 | Paul M. Jones | N/A | N/A |
| 3 | 日志接口规范 | Jordi Boggiano | N/A | N/A |
| 4 | 自动加载规范 | Paul M. Jones | Phil Sturgeon | Larry Garfield |
| 6 | 缓存接口规范 | Larry Garfield | Paul Dragoonis | Robert Hafner |
| 7 | HTTP 消息接口规范 | Matthew Weier O'Phinney | Beau Simensen | Paul M. Jones |
审查中
| 序号 | 标题 | 撰稿者 | 协调者 | 发起人 |
|---|
起草中
| 序号 | 标题 | 撰稿者 | 协调者 | 发起人 |
|---|---|---|---|---|
| 5 | PHPDoc 标准 | Mike van Riel | Vacant | Vacant |
| 8 | Huggable 接口 | Larry Garfield | Vacant | Paul M. Jones |
| 9 | 项目安全问题公示 | Lukas Kahwe Smith | Korvin Szanto | Larry Garfield |
| 10 | 项目安全上报方法 | Lukas Kahwe Smith | Larry Garfield | Korvin Szanto |
| 11 | 服务容器接口 | Matthieu Napoli, David Négrier | Paul M. Jones | Vacant |
| 12 | 全量编码风格规范 | Korvin Szanto | Alexander Makarov | Robert Deutz |
| 13 | 超媒体链接 | Larry Garfield | Matthew Weier O'Phinney | Evert Pot |
已废弃
| 序号 | 标题 | 撰稿者 | 协调者 | 发起人 |
|---|---|---|---|---|
| 0 | 自动加载规范 | Matthew Weier O'Phinney | N/A | N/A |
按照数字索引
| 状态 | 序号 | 标题 | 撰稿者 | 协调者 | 发起人 |
|---|---|---|---|---|---|
| X | 0 | 自动加载规范 | Matthew Weier O'Phinney | N/A | N/A |
| A | 1 | 基础编码规范 | Paul M. Jones | N/A | N/A |
| A | 2 | 编码风格规范 | Paul M. Jones | N/A | N/A |
| A | 3 | 日志接口规范 | Jordi Boggiano | N/A | N/A |
| A | 4 | 自动加载规范 | Paul M. Jones | Phil Sturgeon | Larry Garfield |
| D | 5 | PHPDoc 标准 | Mike van Riel | Vacant | Vacant |
| A | 6 | 缓存接口规范 | Larry Garfield | Paul Dragoonis | Robert Hafner |
| A | 7 | HTTP 消息接口规范 | Matthew Weier O'Phinney | Beau Simensen | Paul M. Jones |
| D | 8 | Huggable 接口 | Larry Garfield | Vacant | Paul M. Jones |
| D | 9 | 项目安全问题公示 | Lukas Kahwe Smith | Korvin Szanto | Larry Garfield |
| D | 10 | 项目安全上报方法 | Lukas Kahwe Smith | Larry Garfield | Korvin Szanto |
| D | 11 | 服务容器接口 | Matthieu Napoli, David Négrier | Paul M. Jones | Vacant |
| D | 12 | 全量编码风格规范 | Korvin Szanto | Alexander Makarov | Robert Deutz |
| D | 13 | 超媒体链接 | Larry Garfield | Matthew Weier O'Phinney | Evert Pot |
说明: A (Accepted) = 已通过 | D (Draft) = 起草中 | R (Review) = 审查中 | X (Deprecated) = 已废弃
php-fig 地址
PHP-FIG - PHP 标准规范的更多相关文章
- W3C 代码标准规范
W3C通过设立领域(Domains)和标准计划(Activities)来组织W3C的标准活动,围绕每个标准计划,会设立相关的W3C工作组织(包括工作组.社区组.商务组等).W3C会根据产业界的标准需求 ...
- MongoDB硬件及开发标准规范
大数据平台部 运维研发组 MongoDB硬件及开发标准规范 说明: 无特殊情况,均以此文档为参考文件搭建,如有特殊情况,需与运维研发组和开发组商议后进行更改. MongoD ...
- PHP 标准规范,PSR-1,PSR-2,PSR-3,PSR-4,PSR-5,PSR-6,PSR-7及其他标准
官方网站:https://psr.phphub.org/ 这里还有其他很多规范,但是很多都是英文. github:https://github.com/summerblue/psr.phphub.or ...
- NVMe标准规范
NVMe NVM Express(NVMe),或称非易失性内存主机控制器接口规范(Non-Volatile Memory express),,是一个逻辑设备接口规范.他是与AHCI类似的.基于设备逻辑 ...
- 数据挖掘标准规范之CRISP-DM基础
一.前言 每每提到数据挖掘,总有些人上来就是ETL.是算法.是数学模型,作为搞工程实施的我而言,很是头疼.其实作为数据挖掘的而言,算法只是其实现手段.是工具和实现手段而已,我们不是在创造算法(国外职业 ...
- HTML5 标准规范完成了
万维网联盟(W3C)昨天宣布,HTML5 标准规范终于最终制定完成了,并已公开发布.对于前端工程师来说,这无疑是一个振奋人心的好消息. 众所周知,HTML5改变了互联网,将成为 ...
- rtmp官方标准规范详细解析
标准规范学习: rtmp消息结构,包括几个部分: 时戳:4 byte,单位毫秒.超过最大值后会翻转. 长度:消息负载的长度. 类型ID:Type Id 一部分ID范围用于rtmp的控制信令.还有一部 ...
- PHP PSR标准规范
PHP PSR标准规范,PHP开发者都需要遵循规范. 官网(英文版本): https://www.php-fig.org 官网(中文版本): https://psr.phphub.org
- PSR标准规范
PSR标准规范 基本代码规范 PHP代码文件 必须 以 不带 BOM 的 UTF-8 编码: 类的命名 必须 遵循 StudlyCaps 大写开头的驼峰命名规范: 类中的常量所有字母都 必须 大写,单 ...
随机推荐
- vuex2.0 基本使用(1) --- state
Vuex 的核心是 store, 它是一个通过 Vuex.Store 构造函数生成的对象.为什么它会是核心呢?因为我们调用这个构造函数创建store 对象的时候,给它传递参数中包装了state, mu ...
- [离散时间信号处理学习笔记] 3. 一些基本的LTI系统
首先我们需要先对离散时间系统进行概念上的回顾: $y[n] = T\{ x[n] \}$ 上面的式子表征了离散时间系统,也就是把输入序列$x[n]$,映射称为$y[n]$的输出序列. 不过上述式子也可 ...
- 【Tensorflow】Tensorflow入门教程
基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使 ...
- 如何在Ubuntu 18.04上安装Django
Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序. 根据您的需要,有不同的方法来安装Django.它可以使用pip在系统范围内安装或在 ...
- #186 path(容斥原理+状压dp+NTT)
首先只有一份图时显然可以状压dp,即f[S][i]表示S子集的哈密顿路以i为终点的方案数,枚举下个点转移. 考虑容斥,我们枚举至少有多少条原图中存在的边(即不合法边)被选进了哈密顿路,统计出这个情况下 ...
- 微信小程序——常用快捷键【四】
格式调整 ctrl+[, ctrl+]:代码行缩进(向前|向后) ctrl+shift+[, ctrl+shift+] :折叠打开代码块 ctrl+C, ctrl+V:复制粘贴,如果没有选中任何文件则 ...
- LGP2801 教主的魔法
题目链接 : P2801 教主的魔法 这是第一次A分块的题 就是模板题了 每个块内排序 每个整块仅需维护整块的修改量 询问操作: 对于边缘块 直接暴力找在[l, r]内 且比给定值大的有几个 对于整块 ...
- Hdoj 1050.Moving Tables 题解
Problem Description The famous ACM (Advanced Computer Maker) Company has rented a floor of a buildin ...
- 【转】C++命名空间 namespace的作用和使用解析
一. 为什么需要命名空间(问题提出) 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突. 在 C语言中定义了3个层次的作用域,即文件(编译单元).函数和复合语句.C ...
- HDU1542-Atlantis【离散化&线段树&扫描线】个人认为很全面的详解
刚上大一的时候见过这种题,感觉好牛逼哇,这都能算 如今已经不打了,不过适当写写题保持思维活跃度还是不错的,又碰到这种题了,想把它弄出来 说实话,智商不够,看了很多解析,花了4.5个小时才弄明白 网上好 ...