PHP 程序编码规范



Similar documents
第2章 数据类型、常量与变量

《C语言基础入门》课程教学大纲

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>


评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

深圳市新亚电子制程股份有限公司

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

Microsoft Word - 文件汇编.doc

修改版-操作手册.doc

<4D F736F F D C3E6CFF2B6D4CFF3A3A8B5DAC8FDD5C220C0E0CCD8D0D4A3A92E646F63>

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

I

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

珠江钢琴股东大会

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

Microsoft Word - 第3章.doc

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

2006年顺德区高中阶段学校招生录取分数线

Template BR_Rec_2005.dot

国债回购交易业务指引

Microsoft Word - 第7章 图表反转形态.doc

听 力 测 试 1 级 A 拍 出 考 官 所 弹 奏 乐 段 的 节 拍, 并 辨 认 是 二 拍 子 还 是 三 拍 子 考 官 会 开 始 弹 奏 乐 段, 考 生 应 尽 快 加 入, 拍 出 拍 子 并 突 出 强 拍 考 官 接 着 会 问 乐 曲 是 二 拍 子 还 是 三 拍 子 不

新, 各 地 各 部 门 ( 单 位 ) 各 文 化 事 业 单 位 要 高 度 重 视, 切 实 加 强 领 导, 精 心 组 织 实 施 要 根 据 事 业 单 位 岗 位 设 置 管 理 的 规 定 和 要 求, 在 深 入 调 查 研 究 广 泛 听 取 意 见 的 基 础 上, 研 究 提


<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

教师上报成绩流程图

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

生产支援功能 使用说明书(IP-110 篇)

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

世华财讯模拟操作手册

用节点法和网孔法进行电路分析

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

Microsoft PowerPoint - plan03.ppt

登录、注册功能的测试用例设计.doc

ETF、分级基金规模、份额变化统计

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

Cybozu Garoon 3 管理员手册

<4D F736F F D20D0A3B7A2A1B A1B BAC5B9D8D3DAD7E9D6AFBFAAD5B9C8ABD0A3BDCCD6B0B9A4B8DACEBBC6B8D3C3B1E4B6AFB9A4D7F7B5C4CDA8D6AA2E646F63>


电信系教学大纲的基本规范

<4D F736F F D C4EAB9A4B3CCCBB6CABFCAFDD1A7D7A8D2B5BFCEBFBCCAD4B4F3B8D9D3EBD2AAC7F3>

中 日 信 息 化 的 比 较 与 合 作 一 中 日 信 息 化 的 规 模 比 较

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

导 数 和 微 分 的 概 念 导 数 的 几 何 意 义 和 物 理 意 义 函 数 的 可 导 性 与 连 续 性 之 间 的 关 系 平 面 曲 线 的 切 线 和 法 线 导 数 和 微 分 的 四 则 运 算 基 本 初 等 函 数 的 导 数 复 合 函 数 反 函 数 隐 函 数 以

超 级 玛 丽 JAVA 小 游 戏 测 试 报 告 1. 导 言 1.1 编 写 目 的 该 文 档 的 目 的 是 描 述 超 级 玛 丽 JAVA 小 游 戏 的 系 统 测 试 的 总 结 报 告, 其 主 要 内 容 包 括 : 系 统 环 境 的 介 绍 功 能 的 实 现 的 测 试

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语


全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

 编号:

课程类 别

现 场 会 议 时 间 为 :2016 年 5 月 19 日 网 络 投 票 时 间 为 :2016 年 5 月 18 日 年 5 月 19 日 其 中 通 过 深 圳 证 券 交 易 所 交 易 系 统 进 行 网 络 投 票 的 时 间 为 2016 年 5 月 19 日 9:30-

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

<4D F736F F D20B2CEBFBC3232C6DAD1A7CFB0D3EBCBBCBFBCC4DAD2B3>

<4D F736F F D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

2014年中央财经大学研究生招生录取工作简报

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

包 头 北 方 创 业 股 份 有 限 公 司 2016 年 第 二 次 临 时 股 东 大 会 会 议 须 知 为 维 护 股 东 合 法 权 益, 确 保 包 头 北 方 创 业 股 份 有 限 公 司 ( 以 下 简 称 公 司 )2016 年 第 二 次 临 时 股 东 大 会 ( 以 下

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

关于修订《沪市股票上网发行资金申购

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

4.3.3 while 语 句 用 于 无 限 循 环 当 while 语 句 的 表 达 式 永 远 不 会 为 布 尔 假 时, 循 环 将 永 远 不 会 结 束, 形 成 无 限 循 环, 也 称 死 循 环 使 用 while 语 句 构 成 无 限 循 环 的 格 式 通 常

第3章 创建数据库

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

在2012年工作会议结束时的讲话

中 中 中 中 部 中 岗 位 条 件 历 其 它 历 史 师 地 理 师 生 物 师 体 与 健 康 师 从 事 中 历 史 工 从 事 中 地 理 工 从 事 中 生 物 工 从 事 中 体 与 健 康 工 2. 课 程 与 论 ( 历 史 ); 2. 科 ( 历 史 )

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用


第1篇 道路桥梁工程技术核心专业课程标准及学习绩效考评体系


证券代码: 证券简称:长城电脑 公告编号:

·岗位设置管理流程

证监会行政审批事项目录

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

光明乳业股份有限公司

国家职业标准:网络课件设计师

抗 日 战 争 研 究 年 第 期

全国教师资格认定管理信息系统

系统设计文档_样稿管理模块 V1.1_.doc

年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

2016年德州市机构编制委员会

第二部分 阅读理解(Part II Reabing Comprehension)

4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页,

标准名称

第 期 李 伟 等 用 方 法 对 中 国 历 史 气 温 数 据 插 值 可 行 性 讨 论

untitled

上海证券交易所会议纪要

Transcription:

PHP 程 序 编 码 规 范 乐 邦 科 技 程 序 部 版 本 1.2

前 言 目 的 : 为 了 更 好 的 便 于 规 范 PHP 团 队 成 员 编 码 规 范, 统 一 编 码 风 格, 帮 助 大 家 更 好 的 形 成 良 好 的 编 码 风 格 适 用 范 围 : 本 规 范 权 限 于 乐 邦 科 技 程 序 部 PHP 团 队 内 部 适 用 标 准 化 作 用 : 当 一 个 项 目 尝 试 着 遵 守 公 共 一 致 的 标 准 时, 可 以 使 参 与 项 目 的 开 发 人 员 更 容 易 了 解 项 目 中 的 代 码 弄 清 程 序 的 状 况 使 新 的 参 与 者 可 以 很 快 的 适 应 环 境, 防 止 部 分 参 与 者 出 于 节 省 时 间 的 需 要, 自 创 一 套 风 格 并 养 成 终 生 的 习 惯, 导 致 其 它 人 在 阅 读 时 浪 费 过 多 的 时 间 和 精 力, 而 且 在 一 致 的 环 境 下, 也 可 以 减 少 编 码 出 错 的 机 会 缺 陷 是 由 于 每 个 人 的 标 准 不 同, 所 以 需 要 一 段 时 间 来 适 应 和 改 变 自 己 的 编 码 风 格, 暂 时 性 的 降 底 了 工 作 效 率 从 使 项 目 长 远 健 康 的 发 展 以 及 后 期 更 高 的 团 队 工 作 效 率 来 考 虑 暂 时 的 工 作 效 率 降 低 是 值 得 的, 也 是 必 须 要 经 过 的 一 个 过 程 标 准 不 是 项 目 成 功 的 关 键, 但 可 以 帮 助 我 们 在 团 队 协 作 中 有 更 高 的 效 率 并 且 更 加 顺 利 的 完 成 即 定 的 任 务 1. 程 序 员 可 以 了 解 任 何 代 码, 弄 清 程 序 的 状 况 2. 新 人 可 以 很 快 的 适 应 环 境 3. 防 止 新 接 触 PHP 的 开 发 出 于 节 省 时 间 的 需 要, 自 创 一 套 风 格 并 养 成 终 生 的 习 惯 4. 防 止 新 接 触 PHP 的 开 发 一 次 次 的 犯 同 样 的 错 误 5. 在 一 致 的 环 境 下, 可 以 减 少 犯 错 的 机 会

PHP 编 码 规 范 一 基 本 规 范 1. 文 件 格 式 1.1. 标 签 PHP 代 码 的 编 码 格 式 使 用 不 带 字 节 顺 序 标 记 (BOM) 的 UTF-8 1.2. 编 码 PHP 代 码 使 用 长 标 签 (<?php?>) 或 者 短 输 出 式 标 签 (<?=?>), 而 不 可 使 用 其 他 标 签 2. 命 名 规 则 2.1. 概 述 常 用 命 名 规 范 : Pascal 命 名 规 则 ( 帕 斯 卡 ) 将 标 识 符 的 每 个 单 词 的 首 字 母 都 大 写 例 如 :BackColor Camel 命 名 规 则 ( 骆 驼 式 ) 将 标 识 符 的 首 字 母 小 写, 而 后 面 链 接 的 单 词 的 首 字 司 都 大 写 例 如 :backcolor Linux C 命 名 规 则 将 所 有 字 母 都 使 用 小 写, 使 用 _ 作 为 每 个 词 的 分 界 命 名 必 须 有 一 定 的 意 义, 并 且 意 义 准 确 : 例 如 : 有 一 个 变 量 用 于 保 存 图 书 的 数 目, 可 以 命 名 为 mumber_of_book 或 者 num_of_book 不 建 议 使 用 i,j,n 等, 因 为 它 没 有 意 义, 也 不 建 议 使 用 number 或 book, 因 为 意 义 不 准 确

2.2. 文 件 命 名 类 的 文 件 的 名 称 与 类 的 名 称 保 持 一 致, 使 用 Pascal 命 名 法 如 类 IndexAction, 对 应 的 文 件 名 称 为 IndexAction.php 视 图 文 件 命 名 使 用 驼 峰 命 名 方 式, 如 indexaction.php 配 置 文 件 名 称 全 部 小 写, 如 :config.php 类 库 文 件, 助 手 文 件 和 模 型 文 件 命 名 与 类 文 件 命 名 方 式 保 持 一 致 2.3. 类 命 名 类 名 命 名 方 式 使 用 Pascal 命 名 方 法, 类 名 应 该 和 文 件 名 保 持 一 致 2.4. 接 口 命 名 接 口 命 名 方 式 同 类 命 名 方 式 一 致, 习 惯 上 名 字 前 面 加 上 大 写 的 I 2.5. 函 数 命 名 函 数 命 名 方 式 一 般 为 一 个 动 词 或 者 行 为 动 词, 使 用 驼 峰 命 名 方 式 命 名, 例 如 : Function getexecutiontime(), 私 有 函 数 命 名 使 用 以 _ 开 头 注 意 : 尽 量 使 用 有 意 义 描 述 性 单 词 来 命 名 函 数 名, 避 免 使 用 单 个 字 母 来 命 名 函 数 名 常 用 的 命 名 前 缀 : Is - 询 问 get - 获 取 set - 设 置 num - 数 量

2.6. 变 量 命 名 变 量 命 名 尽 量 使 用 有 意 义 的 描 述 性 词 来 命 名 变 量, 统 一 使 用 驼 峰 命 名 法 来 命 名 变 量 避 免 使 用 一 些 没 有 意 义 的 缩 写 避 免 使 用 单 个 字 母 来 命 名 变 量 2.7. 常 量 命 名 常 量 命 名 统 一 全 部 使 用 大 写 字 母 和 下 划 线 来 命 名, 不 能 使 用 小 写 字 母 3. 注 释 规 则 3.1. 一 般 注 释 单 行 注 释 : 在 语 句 结 束 后 用 // 解 释 该 语 句 的 具 体 作 用, // 后 加 一 个 空 格, 例 如 : 多 行 注 释 : 使 用 /* 开 始, 并 以 */ 结 束, 用 于 标 注 多 行 语 句 的 具 体 作 用 ( 开 始 结 束 符 各 占 一 行 ) 3.2. 版 权 注 释 文 件 开 头 使 用 // 来 标 示 版 权 信 息, 以 免 和 PHPDocumentor 和 page-level DocBlock 发 生 冲 突, 例 如 :

3.3. 类 注 释 类 声 明 时 要 在 头 部 注 明 类 作 用 作 者 等, 例 如 : 或 3.4. 方 法 / 函 数 注 释 方 法 声 明 时 要 在 开 头 说 明 其 实 现 功 能 各 参 数 返 回 值 意 义, 复 杂 逻 辑 要 在 声 明 时 说 明 其 实 现 思 想, 并 在 关 键 步 骤 做 出 注 释 调 用 方 法 时 也 要 指 出 其 目 的, 例 如 :

4. 其 它 4.1. 副 作 用 一 个 源 文 件 建 议 只 用 来 做 声 明 ( 类, 函 数, 常 量 等 ) 或 者 只 用 来 做 一 些 引 起 副 作 用 的 操 作 ( 例 如 : 输 出 信 息, 修 改.ini 配 置 等 ), 但 不 建 议 同 时 做 这 两 件 事 副 作 用 (side effects) 包 含 但 不 局 限 于 : 产 生 输 出, 显 式 地 使 用 require 或 include, 连 接 外 部 服 务, 修 改 ini 配 置, 触 发 错 误 或 异 常, 修 改 全 局 或 者 静 态 变 量, 读 取 或 修 改 文 件 等 等 下 面 是 一 个 既 包 含 声 明 又 有 副 作 用 的 示 例 文 件 ; 即 应 避 免 的 例 子 : 下 面 是 一 个 仅 包 含 声 明 的 示 例 文 件 ; 即 应 提 倡 的 例 子 :

4.2. 命 名 空 间 和 类 建 议 一 个 源 文 件 中 只 能 有 一 个 类 (class), 并 且 每 个 类 (class) 至 少 要 有 一 级 空 间 名 (namespace): 即 一 个 顶 级 的 组 织 名 (vendor name) 类 名 (class name) 必 须 使 用 Pascal 写 法 PHP5.3 之 后 的 代 码 必 须 使 用 正 式 的 命 名 空 间 (namespace) 例 子 : PHP5.2.x 之 前 的 代 码 建 议 用 伪 命 名 空 间 Vendor_ 作 为 类 名 (class name) 的 前 缀

二 风 格 规 范 1. 基 本 风 格 这 个 示 例 中 简 单 展 示 了 文 中 提 到 的 一 些 规 则 : 2. 通 用 规 则 2.1. 源 文 件 所 有 的 PHP 源 文 件 必 须 使 用 Unix LF( 换 行 ) 作 为 行 结 束 符 所 有 PHP 源 文 件 必 须 以 一 个 空 行 结 束 纯 PHP 代 码 源 文 件 的 关 闭 标 签?> 必 须 省 略

2.2. 行 行 长 度 不 可 有 硬 限 制 行 长 度 的 软 限 制 必 须 是 120 个 字 符 ; 对 于 软 限 制, 代 码 风 格 检 查 器 须 警 告 但 不 可 报 错 一 行 代 码 的 长 度 不 建 议 超 过 80 个 字 符 ; 较 长 的 行 建 议 拆 分 成 多 个 不 超 过 80 个 字 符 的 子 行 在 非 空 行 后 面 不 可 有 空 格 空 行 可 以 用 来 增 强 可 读 性 和 区 分 相 关 代 码 块 一 行 不 可 多 于 一 个 语 句 2.3. 缩 进 代 码 必 须 使 用 4 个 半 角 空 格, 且 不 可 使 用 制 表 符 来 作 为 缩 进 注 意 : 代 码 中 只 使 用 空 格, 且 不 和 制 表 符 混 合 使 用, 将 会 对 避 免 代 码 差 异, 补 丁, 历 史 和 注 解 中 的 一 些 问 题 有 帮 助 空 格 的 使 用 还 可 以 使 通 过 调 整 细 微 的 缩 进 来 改 进 行 间 对 齐 变 得 更 加 的 简 单 2.4. 关 键 字 和 true/false/null PHP 关 键 字 (keywords) 必 须 使 用 小 写 字 母 PHP 常 量 true, false 和 null 必 须 使 用 小 写 字 母 3. 命 名 空 间 和 导 入 声 明 命 名 空 间 (namespace) 的 声 明 后 面 必 须 有 一 行 空 行 所 有 的 导 入 (use) 声 明 必 须 放 在 命 名 空 间 (namespace) 声 明 的 下 面 一 句 声 明 中, 必 须 只 有 一 个 导 入 (use) 关 键 字 在 导 入 (use) 声 明 代 码 块 后 面 必 须 有 一 行 空 行 如 示 例 :

4. 类 属 性 和 方 法 4.1. 扩 展 (extend) 和 实 现 (implement) 一 个 类 的 扩 展 (extend) 和 实 现 (implement) 关 键 词 必 须 和 类 名 (class name) 在 同 一 行 类 (class) 的 左 花 括 号 必 须 放 在 下 面 自 成 一 行 ; 右 花 括 号 必 须 放 在 类 (class) 主 体 的 后 面 自 成 一 行 实 现 (implement) 列 表 可 以 被 拆 分 为 多 个 缩 进 了 一 次 的 子 行 如 果 要 拆 成 多 个 子 行, 列 表 的 第 一 项 必 须 要 放 在 下 一 行, 并 且 每 行 必 须 只 有 一 个 接 口 (interface)

4.2. 属 性 (property) 所 有 的 属 性 (property) 都 必 须 声 明 其 可 见 性 变 量 (var) 关 键 字 不 可 用 来 声 明 一 个 属 性 (property) 一 条 语 句 不 可 声 明 多 个 属 性 (property) 属 性 名 不 推 荐 用 单 个 下 划 线 作 为 前 缀 来 表 明 其 保 护 (protected) 或 私 有 (private) 的 可 见 性 一 个 属 性 (property) 声 明 看 起 来 应 该 像 下 面 这 样 4.3. 方 法 (method) 所 有 的 方 法 (method) 都 必 须 声 明 其 可 见 性 方 法 名 不 推 荐 用 单 个 下 划 线 作 为 前 缀 来 表 明 其 保 护 (protected) 或 私 有 (private) 的 可 见 性 方 法 名 (method name) 在 其 声 明 后 面 不 可 有 空 格 跟 随 其 左 花 括 号 必 须 放 在 下 面 自 成 一 行, 且 右 花 括 号 必 须 放 在 方 法 主 体 的 下 面 自 成 一 行 左 括 号 后 面 不 可 有 空 格, 且 右 括 号 前 面 也 不 可 有 空 格 一 个 方 法 (method) 声 明 看 来 应 该 像 下 面 这 样 注 意 括 号, 逗 号, 空 格 和 花 括 号 的 位 置 :

4.4. 方 法 (method) 的 参 数 在 参 数 列 表 中, 逗 号 之 前 不 可 有 空 格, 而 逗 号 之 后 则 必 须 要 有 一 个 空 格 方 法 (method) 中 有 默 认 值 的 参 数 必 须 放 在 参 数 列 表 的 最 后 面 参 数 列 表 可 以 被 拆 分 为 多 个 缩 进 了 一 次 的 子 行 如 果 要 拆 分 成 多 个 子 行, 参 数 列 表 的 第 一 项 必 须 放 在 下 一 行, 并 且 每 行 必 须 只 有 一 个 参 数 当 参 数 列 表 被 拆 分 成 多 个 子 行, 右 括 号 和 左 花 括 号 之 间 必 须 又 一 个 空 格 并 且 自 成 一 行 4.5. 抽 象 (abstract), 终 结 (final) 和 静 态 (static) 当 用 到 抽 象 (abstract) 和 终 结 (final) 来 做 类 声 明 时, 它 们 必 须 放 在 可 见 性 声 明 的 前 面 而 当 用 到 静 态 (static) 来 做 类 声 明 时, 则 必 须 放 在 可 见 性 声 明 的 后 面

4.6. 调 用 方 法 和 函 数 调 用 一 个 方 法 或 函 数 时, 在 方 法 名 或 者 函 数 名 和 左 括 号 之 间 不 可 有 空 格, 左 括 号 之 后 不 可 有 空 格, 右 括 号 之 前 也 不 可 有 空 格 参 数 列 表 中, 逗 号 之 前 不 可 有 空 格, 逗 号 之 后 则 必 须 有 一 个 空 格 参 数 列 表 可 以 被 拆 分 成 多 个 缩 进 了 一 次 的 子 行 如 果 拆 分 成 子 行, 列 表 中 的 第 一 项 必 须 放 在 下 一 行, 并 且 每 一 行 必 须 只 能 有 一 个 参 数 5. 控 制 结 构 5.1. 概 述 下 面 是 对 于 控 制 结 构 代 码 风 格 的 概 括 : 控 制 结 构 的 关 键 词 之 后 必 须 有 一 个 空 格

控 制 结 构 的 左 括 号 之 后 不 可 有 空 格 控 制 结 构 的 右 括 号 之 前 不 可 有 空 格 控 制 结 构 的 右 括 号 和 左 花 括 号 之 间 必 须 有 一 个 空 格 控 制 结 构 的 代 码 主 体 必 须 进 行 一 次 缩 进 控 制 结 构 的 右 花 括 号 必 须 主 体 的 下 一 行 每 个 控 制 结 构 的 代 码 主 体 必 须 被 括 在 花 括 号 里 这 样 可 是 使 代 码 看 上 去 更 加 标 准 化, 并 且 加 入 新 代 码 的 时 候 还 可 以 因 此 而 减 少 引 入 错 误 的 可 能 性 5.2. if,elseif,else 下 面 是 一 个 if 条 件 控 制 结 构 的 示 例, 注 意 其 中 括 号, 空 格 和 花 括 号 的 位 置 同 时 注 意 else 和 elseif 要 和 前 一 个 条 件 控 制 结 构 的 右 花 括 号 在 同 一 行 推 荐 用 elseif 来 替 代 else if, 以 保 持 所 有 的 条 件 控 制 关 键 字 看 起 来 像 是 一 个 单 词 5.3. switch,case 下 面 是 一 个 switch 条 件 控 制 结 构 的 示 例, 注 意 其 中 括 号, 空 格 和 花 括 号 的 位 置 case 语 句 必 须 要 缩 进 一 级, 而 break 关 键 字 ( 或 其 他 中 止 关 键 字 ) 必 须 和 case 结 构 的 代 码 主 体 在 同 一 个 缩 进 层 级 如 果 一 个 有 主 体 代 码 的 case 结 构 故 意 的 继 续 向 下 执 行 则 必 须 要 有 一 个 类 似 于 // no break 的 注 释

5.4. while,do while 下 面 是 一 个 while 循 环 控 制 结 构 的 示 例, 注 意 其 中 括 号, 空 格 和 花 括 号 的 位 置 下 面 是 一 个 do while 循 环 控 制 结 构 的 示 例, 注 意 其 中 括 号, 空 格 和 花 括 号 的 位 置 5.5. for 下 面 是 一 个 for 循 环 控 制 结 构 的 示 例, 注 意 其 中 括 号, 空 格 和 花 括 号 的 位 置

5.6. foreach 下 面 是 一 个 foreach 循 环 控 制 结 构 的 示 例, 注 意 其 中 括 号, 空 格 和 花 括 号 的 位 置 5.7. try, catch 下 面 是 一 个 try catch 异 常 处 理 控 制 结 构 的 示 例, 注 意 其 中 括 号, 空 格 和 花 括 号 的 位 置 6. 闭 包 声 明 闭 包 时 所 用 的 function 关 键 字 之 后 必 须 要 有 一 个 空 格, 而 use 关 键 字 的 前 后 都 要 有 一 个 空 格 闭 包 的 左 花 括 号 必 须 跟 其 在 同 一 行, 而 右 花 括 号 必 须 在 闭 包 主 体 的 下 一 行 闭 包 的 参 数 列 表 和 变 量 列 表 的 左 括 号 后 面 不 可 有 空 格, 右 括 号 的 前 面 也 不 可 有 空 格 闭 包 的 参 数 列 表 和 变 量 列 表 中 逗 号 前 面 不 可 有 空 格, 而 逗 号 后 面 则 必 须 有 空 格 闭 包 的 参 数 列 表 中 带 默 认 值 的 参 数 必 须 放 在 参 数 列 表 的 结 尾 部 分 下 面 是 一 个 闭 包 的 示 例 注 意 括 号, 空 格 和 花 括 号 的 位 置

参 数 列 表 和 变 量 列 表 可 以 被 拆 分 成 多 个 缩 进 了 一 级 的 子 行 如 果 要 拆 分 成 多 个 子 行, 列 表 中 的 第 一 项 必 须 放 在 下 一 行, 并 且 每 一 行 必 须 只 放 一 个 参 数 或 变 量 当 列 表 ( 不 管 是 参 数 还 是 变 量 ) 最 终 被 拆 分 成 多 个 子 行, 右 括 号 和 左 花 括 号 之 间 必 须 要 有 一 个 空 格 并 且 自 成 一 行 下 面 是 一 个 参 数 列 表 和 变 量 列 表 被 拆 分 成 多 个 子 行 的 示 例

把 闭 包 作 为 一 个 参 数 在 函 数 或 者 方 法 中 调 用 时, 依 然 要 遵 守 上 述 规 则

三 其 它 规 范 1. 补 充 说 明 本 规 范 参 考 于 FIG 组 织, 规 范 中 有 意 的 省 略 了 许 多 元 素 的 代 码 风 格 主 要 包 括 : 全 局 变 量 和 全 局 常 量 的 声 明 函 数 声 明 操 作 符 和 赋 值 行 间 对 齐 注 释 和 文 档 块 类 名 的 前 缀 和 后 缀 以 上 的 代 码 规 范 中 可 能 会 修 正 或 扩 展 本 文 中 规 定 的 代 码 风 格