### PHP开发规约知识点
#### 1. PHP 文件格式与编码规范
- **闭合标签**: 当PHP文件仅包含PHP代码时,不建议使用闭合标签`?>`。这样做可以防止在输出中意外插入不必要的尾部空白。
- **缩进**: 使用空格而非制表符进行缩进,每个缩进使用两个空格。
- **PHP代码边界**: PHP代码必须始终使用标准的全形式标签`<?php` 和 `?>` 包围。不允许使用短标签形式如`<?`。
#### 2. 命名规则
- **类命名**: 类名只允许使用英文字母和数字,不能包含下划线。如果类名由多个单词组成,则每个单词首字母应大写,这种风格通常称为“驼峰命名法”(Camel Case)。
- **接口命名**: 接口类遵循与普通类相同的命名规则,但其名称需要以"Interface"结尾。
#### 3. 文件命名
- **允许字符**: 文件名只能使用英文字母和数字,不允许使用下划线和空格。
- **扩展名**: 所有包含PHP代码的文件都必须以`.php`作为扩展名。
- **特殊文件命名**: 如果文件包含类定义,则文件名应在扩展名`.php`之前加上`.class`后缀;如果文件包含函数则不需要添加此后缀。
#### 4. 函数和方法命名
- **命名规则**: 函数名只允许使用英文字母和数字,不能包含下划线,并且必须以小写字母开头。如果函数名由多个单词组成,则每个单词的首字母应大写。
- **示例**: `filterInput()`, `getElementById()`, `widgetFactory()`等。
#### 5. 变量命名
- **命名规则**: 变量名只能使用英文字母和数字,不允许使用下划线。若变量为类的私有或受保护成员,则变量名的首个字符应为单个下划线。
- **数据类型接头词**: 根据变量存储的数据类型,在变量名前使用特定的接头词。
- `Array`: 接头词`aa`,如`aastrCustomer`
- `Double`: 接头词`dd`,如`ddTolerance`
- `Integer`: 接头词`Ii`,如`IiQstCnt`
- `Object`: 接头词`obj`,如`objFSO`
- `String`: 接头词`ss`,如`ssUserName`
#### 6. 定义常量
- **命名规则**: 常量名可以包含英文字母、数字和下划线,但所有字符都必须是大写。为了提高可读性,常量名中的各个单词之间应用下划线分隔。
#### 7. 编码风格
- **提高可读性**: 在每个逗号分隔后的值之后添加一个空格。
```php
$sampleArray = array(1, 2, 3, 'User', 'Admin');
```
- **一个文件一个类**: 每个文件定义一个类。
- **操作符前后空格**: 在逻辑操作符(如`==`, `&&`等)前后添加一个空格。
- **属性与方法的声明顺序**: 在类中先声明公共方法(`public`),然后是受保护方法(`protected`),最后是私有方法(`private`)。
- **括号的位置**: 在声明类、方法及函数时,将括号放在独立的一行。
#### 8. 注释规范
- **模板文件头部**: 模板文件顶部需包含功能描述、作者姓名、日期以及修改记录。
```html
<!—
功能説明:「新着情報管理の情報変更ページテンプレート」
作者:名前
日付:2011/09/20
修正履歴:日付 修正者 修正説明
------------------------------------------
-->
```
- **类文件头部**: 类文件顶部需包含功能描述、作者姓名、日期以及修改记录。
```php
<?php
/**
* 功能説明:新着情報管理アクション
*
* 作者:名前
* 日付:2011/09/20
* 修正履歴:日付 修正者 修正説明
* ------------------------------------------
*/
```
- **函数头部**: 函数顶部需包含函数名、功能描述。
```php
<?php
/**
* 関数名:[executeIndex]
* 関数機能:新着情報
*/
```
以上为PHP开发规约的主要内容,这些规定旨在提高代码的可读性和一致性,有助于团队协作和维护。