PHP 표준 코딩 규칙 > 그누3 팁자료실

그누3 팁자료실

PHP 표준 코딩 규칙 정보

기타 PHP 표준 코딩 규칙

본문

요즘 다른분이 작업하신 PHP소스를 분석하다가 코딩이 좀 엉망으로 되어있어서 고생하고 있습니다.
그래서 제가 코딩한 소스를 다른 사람이 보면 어떨까 하는 생각이 들어 PHP표준코딩규약을 찾아봤습니다.
예전에 phpschool 에 어떤분이 올려놓신걸 원문과 비교해서 다시 정리해봤습니다.

PHP 코딩시 참고하시기 바랍니다.

1. 들여쓰기

탭(tab)을 사용하지 않고 4개의 공백을 사용하여 들여쓰기를 합니다.
요즘은 에디터들이 좋아져서 설정메뉴에서 한번에 해결할수 있습니다.

<?php
if ($foo) {
    print $var;
}
?>

2. 제어구조(if, for, while, switch, etc.)

제어구조는 함수호출과 구별하기 위해서 키워드와 ( 사이에 1개의 공백을 둡니다.
{ 는 키워드와 동일한 라인에 놓습니다.

<?php
if ((condition1) || (condition2)) {
    action1;
} elseif ((condition3) && (condition4)) {
    action2;
} else {
    defaultaction;
}
?>

구문적으로 임의의 경우에도 항상 중괄호를 사용하는 것을 강력히 추천합니다.

<?php
if ($foo) print $var;
?>

<?php
if ($foo)
    print $var;
?>
가 아닌
<?php
if ($foo) {
    print $var;
}
?>
를 사용합니다.

switch문의 경우는 다음과 같이 사용합니다.

<?php
switch (condition) {
case 1:
    action1;
    break;

case 2:
    action2;
    break;

default:
    defaultaction;
    break;

}
?>

3. 함수호출
함수를 호출할 경우 함수명과 ( 사이에 공백을 두지 않습니다.
그리고 각 인수는 ,와 공백으로 구분합니다.

<?php
$short            = foo($bar);
$long_variable = foo($baz);
?>

4. 함수정의는  "one true brace"표기에 근거 합니다. ("one true brace" <= 이게 뭔지 모르겠습니다.)
관심있게 보셔야 하실점은 함수정의랑 ( 사이에 공백이 없는 점, 그리고 { 가 다음 라인에 있는 점입니다.

<?php
function fooFunction($arg1, $arg2 = '')
{
    if (condition) {
        statement;
    }
    return $val;
}
?>

기본값을 가지는 인수는 목록의 마지막에 둡니다.

<?php
function connect(&$dsn, $persistent = false)
{
    if (is_array($dsn)) {
        $dsninfo = &$dsn;
    } else {
        $dsninfo = DB::parseDSN($dsn);
    }

    if (!$dsninfo || !$dsninfo['phptype']) {
        return $this->raiseError();
    }

    return true;
}
?>

5. 주석
// 와 /**/ 만 사용합니다.
#는 강력히 사용하지 않을것을 주문하고 있습니다.
클래스내의 주석은 PHPDoc(http://www.phpdoc.org/) 표기에 따릅니다.

6. PHP 코드 태그
<? ?>가 아닌 <?php ?>를 사용하기를 강력히 권고합니다.

7. 이름 짓는 법
a. 클래스의 경우
첫문자는 대문자로 시작합니다.
MyFunctionClass 등등등...
그런데 만약 한 클래스가 다른 큰 클래스의 범주안에 들때에는
언더스코어(_)로 이름을 짓습니다.

b. 함수나 메서드의 경우
첫문자는 소문자로 시작하고 그 뒷문자는 대문자로 시작합니다.
function getMoney(....

c. 상수의 경우
항상 대문자로 시작합니다. 단락은 언더스코어를 사용합니다.
define(DB_CONNECT, true);

d. 전역변수
PHP 4.0이후 전역변수는 지역변수와 구분하기 위해서 언더스코어로 시작합니다.
$_COOKIE, $_SERVER 등은 전역변수의 좋은예입니다.
물론 지금도 $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS등은 사용가능합니다.

그누보드 스킨작업을 하실때 위의 규칙을 잘 지키시면 다른분들이 쉽게 수정해서 사용할수 있을것 같습니다.
예전부터 위처럼 지키려고 애는 쓰고 있는데 다른 분들은 어떻실지...

그냥 참고하시라고 올려봅니다.

원문 : http://pear.php.net/manual/en/standards.php
추천
0

댓글 전체

전체 1,026
그누3 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT