참고: 이 사양은 SINA 네트워크 응용 프로그램 개발 부서의 "C++ 개발 사양", Interactive Technology 부서의 "PHP4 개발 사양" 및 phpDocument 사양을 기반으로 EasyChen에서 작성되었습니다. 나는 그것이 PHP 개발에 매우 좋고 적합하다고 생각합니다. 좋은 프로그래밍 스타일을 개발하는 데 매우 필요합니다.
1장 명명 규칙
1.1 변수
1.1.1 전역변수
전역 변수는 $g_data_list와 같이 $g_로 시작합니다.
1.1.2 일반 변수
일반적으로 변수 이름은 소문자로 지정되며 단어는 밑줄로 구분됩니다.
변수 이름은 명사 또는 형용사+명사를 사용해야 합니다. $value, $new_value 등이 있습니다.
1.1.3 임시변수
루프에서 자주 사용되는 $i, $j 등의 임시 변수를 다른 용도로 사용하지 마세요.
1.2 기능
함수 이름은 소문자로 지정되며 단어는 밑줄로 구분됩니다.
get_user_img 등 함수 이름을 지정할 때는 동사+명사 사용을 권장합니다.
함수들의 집합을 완성하는 함수들은 하나의 파일에 담겨져 있으며, 그 함수들을 저장한 파일의 이름은 function_name.func.php입니다.
1.3반
클래스는 영어 대문자를 사용하여 첫 번째 단어를 포함하여 단어를 구분하고 모든 단어의 첫 글자를 대문자로 표시합니다(예: PageManager
).클래스에서는 속성 정의 앞에 메서드를 배치하고 특수 메서드 앞에 공용 메서드를 배치합니다.
일반적으로 클래스는 파일에 해당합니다.
일부 클래스가 밀접하게 관련되어 있는 경우 하나의 파일에 저장할 수 있습니다.
클래스를 저장하는 파일 이름은 ClassName.class.php입니다.
1.4 방법
메소드는 영어 대문자를 사용하여 단어를 구분합니다. 예를 들어 getCurrentPage()
;where2go()와 같은 일반적이지 않은 약어를 사용하지 마세요.
자주 사용되는 약어를 사용할 때는 getHtml()과 같이 첫 글자만 대문자로 사용하세요.
제2장 형식 규칙
2.1 의미분리
각 함수와 메소드 사이에는 빈 줄을 사용해야 합니다.
동일한 함수 내에서 밀접하게 관련된 문 사이에는 줄 바꿈이 필요하지 않습니다.
2.2 공간 규칙
2.2.1 논리연산자 앞뒤에 공백을 추가해야 합니다
맞음
2.2.2 여러 매개변수를 구분할 경우 공백을 추가해야 합니다
올바름
예: If, for, while, switch…..
맞습니다
맞습니다
错误
2.4 圆括号规则
函数名后括号不需要加空格、语法关键字后的括号必须加空格。
正确
错误
2.5 花括号规则
花括号必须为上下对应。
正确
错误
2.6 数组定义规则
数组定义和使用时中key值前后必须加单引号。
PHP 代码:
正确
错误
2.7 SQL规则
在PHP中嵌入的SQL语句关键字全部采用大写;
表名和字段名要用反引号(`)引起来以防止因为字段名中包含空格而出现错误;
数据值两边用单引号''包括,并且应确保数据值中的单引号已经转义以防止SQL注入。
正确
错误
第3章 注释规则
3.1 一般规则
不写不必要的注释;只有当代码不能很好地说明逻辑时,才用注释补充;
把注释看成程序的一部分,在编写/维护代码时同时编写/维护注释;
注释完全采用PHPDocumentor的规范,以方便用其生成API级文档。
3.2 详细规则
请参见PHPDocumentor手册。下边给出各个部分的注释示范。
3.2.1 版权信息
注释名称 版权信息
注释示范:
备注 使用//来标示版权信息,以免和PHPDocumentor的page-level DocBlock发生冲突
3.2.2文件头注释示例
注释名称 文件头注释
注释示范:
PHP 代码:
备注
1)文件头注释需要指明所属的包和子包;
2)在@version中加上$ID,以方便使用CVS管理文件。
3.2.3 类注释示例
注释名称 类注释
注释示范:
PHP 代码:
<br>* if get_class($blah) == ' parserBlah'<br>*
3.2.5 函数/类方法注释示例
注释名称 函数/类方法注释
注释示范:
PHP 代码: