1. 지역에 맞는 텍스트(국가별 언어)
제어 구문에서의 출력되는 모든 문자는 lang 파일에서 language 변수를 사용해야 합니다.
INCORRECT:
return "Invalid Selection";
CORRECT:
return $this->lang->line('invalid_selection');
2. Private 메소드와 변수
클래스로부터 내부적으로만 접근가능한 메소드와 변수는 밑줄로 시작해야 합니다.
convert_text() // public method
_convert_text() // private method
3. Short Open Tags
서버에
short_open_tag 가 enable 이 아닐 수도 있으므로 항상 짧은 시작태그(<?)가 아닌 완벽한 시작태그(<?php)를 사용합니다.
INCORRECT:
<? echo $foo; ?>
<?=$foo?>
CORRECT:
<?php echo $foo; ?>
4. 한 줄당 한 구문 (One Statement Per Line)
한 줄에 여러 구문을 사용하지 않습니다.
INCORRECT:
$foo = 'this'; $bar = 'that'; $bat = str_replace($foo, $bar, $bag);
CORRECT:
$foo = 'this';
$bar = 'that';
$bat = str_replace($foo, $bar, $bag);
5. 문자열(Strings)
변수 해석이 필요하지 않는 한 항상 문자열에 작은 따옴표를 사용하고, 변수 해석이 필요한 곳에 중괄호를 사용합니다.
또한 문자열이 작은 따옴표를 포함한다면 문자열에 큰 따옴표를 사용할 것입니다.
이스케이프(\) 문자를 사용하지 않도록 합니다.
INCORRECT:
"My String" // no variable parsing, so no use for double quotes
"My string $foo" // needs braces
'SELECT foo FROM bar WHERE baz = \'bag\'' // ugly
CORRECT:
'My String'
"My string {$foo}"
"SELECT foo FROM bar WHERE baz = 'bag'"
6. SQL Queries
Mysql 키워드는 항상 대문자로 씁니다. SELECT, INSERT, UPDATE, WHERE, AS, JOIN, ON, IN, ...
긴 쿼리는 읽기 쉽도록 각 절마다 여러 라인으로 나눕니다.
INCORRECT:
// keywords are lowercase and query is too long for
// a single line (... indicates continuation of line)
$query = $this->db->query("select foo, bar, baz, foofoo, foobar as raboof, foobaz from exp_pre_email_addresses
...where foo != 'oof' and baz != 'zab' order by foobaz limit 5, 100");
CORRECT:
$query = $this->db->query("SELECT foo, bar, baz, foofoo, foobar AS raboof, foobaz
FROM exp_pre_email_addresses
WHERE foo != 'oof'
AND baz != 'zab'
ORDER BY foobaz
LIMIT 5, 100");
7. 기본 함수 인자 (Default Function Arguments)
잘못된 호출시 PHP 오류를 방지하기 위해 기본적인 인수를 사용합니다.
function foo($bar = '', $baz = FALSE)