Zend Framework PHP 编码标准
目录
? ? ? ?
B.1. B.2. B.3. B.4.
绪论 PHP File 文件格式 命名约定 编码风格
B.1. 绪论 B.1.1. 适用范围 本文档提供的编码指南是给参与 Zend Framework 的开发者和团队使用的,它包含下列内 容: *PHP File 文件格式 *命名约定 *编码风格 *注释
文档 B.1.2. 目标
好的编码标准对任何开发项目都很重要, 特别是很多开发者共同在同一项目上
工作。 编码标 准帮助确保代码的高质量、少 bug 和容易维护。 B.2. PHP File 文件格式 B.2.1. 常规 对于只包含有 PHP 代码的文件, 结束标志 ("?>") 是不允许存在的, PHP 自身不需要 ("?>") , 这样做, 可以防止它的末尾的被意外地注入空白并显示输出。 重要: 由 __HALT_COMPILER() 允许的任意的二进制代码的内容被 Zend Framework PHP 文件或由它们产生的文件禁止。这个功能的使用只对特殊的安装脚本开放。 B.2.2. 缩进 使用四个空格的缩进,而不使用制表符 TAB 。 B.2.3. 行的最大长度 一行 80 字符以内是比较合适, 长点也可以, 但最多为 120 个字符。 B.2.4. 行结束标志 行结束标志只能是标准的 unix 文本文件的换行,换行符在文件中表示为 10,或 16 进制的 0x0A。 不要使用 Macintosh 电脑的回车如(0x0D) 。
不要使用 Windows 电脑的回车换行组合如(0x0D,0x0A) 。
B.3. 命名约定 B.3.1. 类
Zend Framework 的类命名总是对应于其所属文件的目录结构的,Zend Framework 的根目录 是 “Zend/”,所有的类在其下按等级存放。
类名只允许有字母数字字符,但不鼓励使用数字。下划线只允许做路径分隔符,例如 Zend/Db/Table.php 文件里对应的类名称是 Zend_Db_Table。
如果类名包含多个单词,每个单词的第一个字母必须大写,连续的大写是不允许的,例如 “Zend_PDF” 是不允许的,而 "Zend_Pdf" 是可接受的。
由 Zend 或其参与 Zend Framework 项目的伙伴公司发行的类必须以 "Zend_" 开头并且必 须按等级放在 "Zend/"目录下。
可接受的类名的例子:
1. Zend_Db 2. 3. Zend_View 4. 5. Zend_View_Helper
复制代码 重要: 最终用户写的代码,不要以 "Zend_" 开头。 B.3.2. 接口
接口类也必须遵循同样的约定(如上所述),但必须以 "Interface" 结尾,比如这些例子:
1. Zend_Log_Adapter_Interface 2. Zend_Controller_Dispatcher_Interface
复制代码 B.3.3. 文件名
对于其它文件,只有字母数字字符、下划线和短横线("-")可用,空格是不允许的。
包含任何
PHP 代码的任何文件必须以 ".php" 扩展名结尾。 这些例子给出可接受的文件名, 它们包含的类名都在上述章节的例子中:
1. Zend/Db.php 2.
3. Zend/Controller/Front.php 4. 5. Zend/View/Helper/FormRadio.php
复制代码 文件名必须遵循上述的对应类名的规则。 B.3.4
. 函数和方法
函数名只包含字母数字字符,但不鼓励使用数字,下划线是不允许的。
函数名总是以小写开头,当函数名包含多个单词,每个子的首字母必须大写,这就是所谓的 “驼峰” 格式。
我们鼓励使用冗长的名字,这样容易理解代码。
这些是可接受的函数名的例子:
1. filterInput() 2. 3. getElementById() 4. 5. widgetFactory()
复制代码 对于面向对象编程,对象的访问器总是以 "get" 或 "set" 为前缀。当使用设计模式如 单 态模式(singleton)或工厂模式(factory),方法的名字应当包含模式的名字,这样容易 从名字识别
设计模式。
在对象中的方法,声明为 "private" 或 "protected" 的, 名称的首字符必须是一个单个 的下划线, 这是唯一的下划线在方法名字中的用法。 声明为 "public" 的从不以下划线开头。
全局函数 ("floating functions") 允许但不鼓励,建议把这类函数封装到静态类里。 B.3.5. 变量
变量只包含数字字母字符,不鼓励使用数字,下划线不接受。
声明为 "private" 或 "protected" 的类成员变量名必须以一个单个下划线开头, 这