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

참고: 이 사양은 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
오류

코드 복사 코드는 다음과 같습니다.for($i = 0; $i
2.3 문자열과 변수 연결 규칙 문자열과 변수를 '.' 기호로 연결할 때는 '.' 기호 앞뒤에 공백을 추가해야 하며, "." 기호를 사용할 경우에는 "{} 변수 앞뒤에 "를 추가해야 합니다.

맞습니다

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

错误

复制代码 代码如下:

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

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

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

错误

复制代码 代码如下:
for($i = 0; $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으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.