PHP-FIG PSR-1 # 基本编码标准

本标准包含了 对 用于保障 PHP共享代码的互操作性 的标准编码元素。

The key words “MUST 必须”, “MUST NOT 必须不”, “REQUIRED 需要”, “SHALL 将要”, “SHALL NOT 将不”, “SHOULD 应该”, “SHOULD NOT不应该”, “RECOMMENDED 推荐的”, “MAY 可以”, and “OPTIONAL 可选的” in this document are to be interpreted as described in RFC 2119.

概览

  1. 文件 必须 使用 < ? php 和 < ? = 标签。
  2. 文件中的PHP代码 必须 使用无BOM头 UTF-8编码。
  3. 文件即可以声明“符号”(诸如 类、函数、常量等),也可做一些边际效应的事情 (诸如产生输出, 改变ini设置等.)。 但这两类事情不应出现在同一个文件里。
  4. 命名空间 和 类 必须遵循“autoloading” PSR: [PSR-0, PSR-4]
  5. 类名必须使用 StudlyCaps (首字母大写的驼峰)声明。
  6. 类常量必须使用下划线分割的大写字母。
  7. 方法名必须使用驼峰声明。

文件

PHP 标签

PHP 代码必须使用长标签 < ? php ?> 或 echo短标签 < ? = ? > ; 必须不能使用其他形态的标签.

字符编码

PHP代码必须使用无BOM头UTF-8编码

边际效应

一个文件 (应该)要么声明符号(类、函数和常量等),不能引起任何边际效应;要么执行产生边际效应的代码。这两种情况不能出现在一个文件中。

“边际效应” 执行与声明类、函数、常量无关的逻辑。

“边际效应” 包括但不限于: 生成输出, 显式的require或include, 连接外部服务, 修改ini配置, 发出 errors 或 exceptions, 修改全局或静态变量, 读写文件 等等.

以下是一个即声明符号,又产生边际效应的例子; 这是应该要避免的情况:

<?php
// 边际效应: 修改 ini 设置
ini_set(‘error_reporting‘, E_ALL);

// 边际效应: 加载文件
include "file.php";

// 边际效应: 生成输出
echo "<html>\n";

// 声明
function foo()
{
    // function body
}

以下例子只包含声明,无边际效应;值得效仿:

<?php
// declaration
function foo()
{
    // function body
}

// 条件式声明 不是边际效应
if (! function_exists(‘bar‘)) {
    function bar()
    {
        // function body
    }
}

命名空间名和类名

命名空间名和类名必须遵循 “autoloading” PSR: [PSR-0, PSR-4].

这意味着每个文件只能包含一个类, 并且至少有一层命名空间: 顶级的 vendor 名.

类名必须使用 StudlyCaps (首字母大写驼峰) 声明.

针对 PHP 5.3 及以后版本的代码,必须使用正式的命名空间(5.3之前PHP不支持namespace).

例如:

<?php
// PHP 5.3 and later:
namespace Vendor\Model;

class Foo
{
}
Code written for 5.2.x and before SHOULD use the pseudo-namespacing convention of Vendor_prefixes on class names.

<?php
// PHP 5.2.x and earlier:
class Vendor_Model_Foo
{
}

类常量、属性和方法

这里的“类”包括 classes, interfaces 和 traits.

4.1. 常量

类常量必须使用下划线分割的大写声明。


 <?php

namespace Vendor\Model;

class Foo
{
    const VERSION = ‘1.0‘;
    const DATE_APPROVED = ‘2012-06-01‘;
}

属性

本指南特意避免偏向 StudlyCaps,camelCase 和 $under_score 中任意一种属性命名风格.

无论在用哪种命名风格,在合理的范围内均应改保持一致。 范围可以使 vendor-level, package-level, class-level, 或 method-level。

方法

方法名必须使用驼峰 camelCase().

时间: 2024-12-28 05:34:49

PHP-FIG PSR-1 # 基本编码标准的相关文章

jQuery的编码标准和最佳实践

加载jQuery 1.坚持使用CDN来加载jQuery,这种别人服务器免费帮你托管文件的便宜干嘛不占呢.点击查看使用CDN的好处,点此查看一些主流的jQuery CDN地址. <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script>window.jQuery

C# 编码标准(二)

先八卦一下,昨天写了C# 编码标准(一),得到了@h82258652的补充,感到非常欣慰,一是感觉他的观点扩展了我的视野,丰富了我的看法,所以更坚定了我继续写博客的想法,由于是五笔打字,经常不写东西,有些字的字根都忘记了,所以通过写博客也可以多记些字根,二是决定把多年的一些东西分享出来,一起沟通交流,这样也能够共同进步,共同成长. 一.编码实践 1.一个文件的代码避免超过500行.当然这个在特殊情况下也是可以的,只是一个建设吧! 2.方法要避免超过25行.当然这个在特殊情况下也是可以的,只是一个

(转)视频编码标准汇总及比较

MPEG-1 类型:Audio&Video 制定者:MPEG(Moving Picture Expert Group) 所需频宽:2Mbps 特性:对动作不激烈的视频信号可获得较好的图像质量,但当动作激烈时,图像就会产生马赛克现象.它没有定义用于额外数据流进行编对码的格式,因此这种技术不能广泛推广.它主要用于家用VCD,它需要的存储空间比较大. 优点:对动作不激烈的视频信号可获得较好的图像质量. 缺点:当动作激烈时,图像就会产生马赛克现象.它没有定义用于额外数据流进行编对码的格式,因此这种技术不

C#编码标准66条

http://www.educity.cn/develop/1389490.html C#编码标准66条 1.  避免将多个类放在一个文件里面. 2.  一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面. 3.  一个文件最好不要超过500行的代码(不包括机器产生的代码). 4.  一个方法的代码长度最好不要超过25行. 5.  避免方法中有超过5个参数的情况.使用结构来传递多个参数. 6.  每行代码不要超过80个字符. 7.  不要手工的修改机器产生的代码. a)  如果需

视频编解码学习之四:视频处理及编码标准

1.视频处理 在视频压缩前后,对视频图像质量增强的操作 视频编解码系统输出的图像主观质量不仅与压缩算法的性能有关,还受视频处理的影响 压缩之前对视频的处理称作预处理(Pre-processing) 压缩之后对视频的处理称作后处理(Post-processing) 2. 预处理 预处理的目的 为了减少原图像受到的损害,保持原图像的重要特征,使原图像能被高效的压缩 噪声污染 光照差 抖动 为了进行视频格式转换 去隔行 空间缩放 帧率转换 去噪声处理 去隔行(Deinterlace) 隔行扫描的视频图

C安全编码标准:开发安全、可靠、稳固系统的98条规则(原书第2版)——互动出版网

这篇是计算机类的优质预售推荐>>>><C安全编码标准:开发安全.可靠.稳固系统的98条规则(原书第2版)> 部分目录 译者序 前言 贡献者简介 第1章 预处理器(PRE) 1 1.1 PRE30-C. 不要通过连接创建通用字符名称 1 1.2 PRE31-C. 避免不安全宏参数的副作用 3 1.3 PRE32-C. 不要在类函数的宏调用中使用预处理器指令 7 第2章 声明和初始化(DCL) 9 2.1 DCL30-C. 声明具有正确存储持续期的对象 10 2.2 DCL

四:视频处理及编码标准

第10章 视频处理 1.视频处理 在视频压缩前后,对视频图像质量增强的操作 视频编解码系统输出的图像主观质量不仅与压缩算法的性能有关,还受视频处理的影响 压缩之前对视频的处理称作预处理(Pre-processing) 压缩之后对视频的处理称作后处理(Post-processing) 2. 预处理 预处理的目的 为了减少原图像受到的损害,保持原图像的重要特征,使原图像能被高效的压缩 噪声污染 光照差 抖动 为了进行视频格式转换 去隔行 空间缩放 帧率转换 去噪声处理 去隔行(Deinterlace

VP9 vs H.265——下一代视频编码标准的王道之争

目前下一代主流的视频编码标准有 ITU-T VCEG 推出来的 H.265 和 Google 推出 VP9 . H.265 在 H.264 的基础上保留其中的部分技术,并对相关技术加以改进研发而成.新技术主要通过提升压缩效率.鲁棒性,提高错误恢复能力,减少实时时延.减少信道获取时间等方面,让视频编码达到效率更高.同时 H.265 可以实现利用 1~2Mbps 传输速度传送 720P 普通高清音视频. VP9 是由 Google 开发的开放式.无版权费的视频编码标准,在开发初期曾经被命名为 Nex

视频编码标准简介

文章转自:http://www.cnblogs.com/CoderTian/p/8261727.html 1.视频编码发展简史 1988 年CCITT 通过了"p×64Kbps(p=1,2,3,4,5,,,,30) "视像编码标准 H.261 建议, 被称为视频压缩编码的一个里程碑.从此, ITU-T. ISO 等公布的基于波形的一系列视频编码标准的编码方法都是基于 H.261 中的混合编码方法. 1986 年,ISO 和 CCITT 成立了联合图像专家组(JPEG,Joint Pho