>php教程 >php手册 >PHP 프로그래밍 스타일 사양 Sharing_php 기본

PHP 프로그래밍 스타일 사양 Sharing_php 기본

WBOY
WBOY원래의
2016-05-16 08:59:542951검색

참고: 이 사양은 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 논리연산자 앞뒤에 공백을 추가해야 합니다

맞음

코드 복사 코드는 다음과 같습니다.
$a == $b; >
오류

$a==$b;
$a ==$b;


맞습니다

오류

비고: 더하기 및 빼기 연산자는 공백을 추가할 수 없습니다.

2.2.2 여러 매개변수를 구분할 경우 공백을 추가해야 합니다

올바름


$g_pro , $g_user , g_show
get_db_info($host, $user, $passwd)


오류

$g_pro,$g_user,$g_show;
get_db_info($host,$user,$passwd)


2.2.3 구문 키워드 뒤에 공백을 추가해야 합니다

예: If, for, while, switch…..

맞습니다


코드 복사 코드는 다음과 같습니다.for ($i = 0; $i < 10 ; $i++ )
오류

코드 복사 코드는 다음과 같습니다.for($i = 0; $i < 10 ; $i++ )
2.3 문자열과 변수 연결 규칙

문자열과 변수를 '.' 기호로 연결할 때는 '.' 기호 앞뒤에 공백을 추가해야 하며, "." 기호를 사용할 경우에는 "{} 변수 앞뒤에 "를 추가해야 합니다.

맞습니다

$my_name = 'file_' . ;
$my_name = "파일_{$var1}"

错误

复制代码 代码如下:

$my_name = "file_'.$var1; 
$my_name = "file_$var1";

2.4 圆括号规则
函数名后括号不需要加空格、语法关键字后的括号必须加空格。
正确

复制代码 代码如下:
for ($i = 0; $i < 10; $i++) 
strlen($my_name);

错误

复制代码 代码如下:
for($i = 0; $i < 10; $i++ ) 
strlen ($my_name);

2.5 花括号规则
花括号必须为上下对应。

正确

复制代码 代码如下:

if ($a) 
 { 
    $b = $a; 
 }

错误

复制代码 代码如下:

if ($a){ 
     $b = $a; 
 }

2.6 数组定义规则

数组定义和使用时中key值前后必须加单引号。
PHP 代码:
正确

复制代码 代码如下:

array( 'name'   => '', 'gender'  => '' );  
$user_info['name'];

错误

复制代码 代码如下:

array( name => '', gender    => '' );  
$user_info[name];

2.7 SQL规则

在PHP中嵌入的SQL语句关键字全部采用大写;
表名和字段名要用反引号(`)引起来以防止因为字段名中包含空格而出现错误;
数据值两边用单引号''包括,并且应确保数据值中的单引号已经转义以防止SQL注入。

正确

复制代码 代码如下:
$sql = "SELECT `user`.`name` FROM `user` WHERE `id` = '$id' LIMIT 1";

错误

复制代码 代码如下:
$sql = "select name.user from name where id = $id ";

第3章 注释规则

3.1 一般规则
不写不必要的注释;只有当代码不能很好地说明逻辑时,才用注释补充;
把注释看成程序的一部分,在编写/维护代码时同时编写/维护注释;
注释完全采用PHPDocumentor的规范,以方便用其生成API级文档。

3.2 详细规则
请参见PHPDocumentor手册。下边给出各个部分的注释示范。

3.2.1 版权信息
注释名称 版权信息
注释示范:

复制代码 代码如下:

//
// +----------------------------------------------------+
// | phpDocumentor |
// +----------------------------------------------------+
// | Copyright (c) 2000-2003 Joshua Eichorn |
// | Email jeichorn@phpdoc.org |
// | Web http://www.phpdoc.org |
// +----------------------------------------------------+
// | This source file is subject to PHP License |
// +----------------------------------------------------+
//

 备注 使用//来标示版权信息,以免和PHPDocumentor的page-level DocBlock发生冲突

3.2.2文件头注释示例

注释名称 文件头注释
注释示范:

PHP 代码:

复制代码 代码如下:

/**
* 内联标签的所有抽象表示都在此文件中
* @package phpDocumentor
* @subpackage InlineTags
* @since 自版本 1.2 起的单独文件
* @version $Id $
*/

备注
1)文件头注释需要指明所属的包和子包;
2)在@version中加上$ID,以方便使用CVS管理文件。

3.2.3 类注释示例
注释名称 类注释
注释示范:

PHP 代码:

复制代码 代码如下:

/**
* 使用此元素表示{@}内联标记},如 {@}link}
* @see parserStringWithInlineTags
* @package phpDocumentor
* @subpackage InlineTags
* @author Greg Beaver
* @since 1.0rc1
* @version $修订版:1.21.2.6 $
* @tutorial inlinetags.pkg
*/


3.2.4 类属性注释示例
注释名称 类属性注释
注释示范:
PHP 代码:

复制代码 代码如下:

/**
* 元素类型
*
* 许多函数都使用类型来跳过
*
* <br>* if get_class($blah) == ' parserBlah'<br>*
* 始终为“inlinetag”
* @var string
*/
var $type = 'inlinetag';

3.2.5 函数/类方法注释示例
注释名称 函数/类方法注释
注释示范:
PHP 代码:

复制代码 代码如下:

/**
* @return string always ''
* 计算 DocBlock 的简短描述
* @see parserStringWithInlineTags::getString()
* @see parserStringWithInlineTags::trimmedStrlen()
*/
function getString()
{
 return '';
}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.