1. 주석 달기
일반적으로 코드는 많은 주석을 포함하는 것이 좋습니다.
클래스와 메소드 선언 전의 DocBlock 스타일의 주석은 통합개발환경(IDE)등에서 인식될 수 있습니다.
/**
* Super Class
*
* @package Package Name
* @subpackage Subpackage
* @category Category
* @author Author Name
* @link http://example.com
*/
class Super_class {
* Super Class
*
* @package Package Name
* @subpackage Subpackage
* @category Category
* @author Author Name
* @link http://example.com
*/
class Super_class {
/**
* Encodes string for use in XML
*
* @access public
* @param string
* @return string
*/
function xml_encode($str)
* Encodes string for use in XML
*
* @access public
* @param string
* @return string
*/
function xml_encode($str)
코드에 한 줄 주석을 사용할 수 있고, 큰 주석 블럭과 코드 사이에는 빈 줄을 넣습니다.
// break up the string by newlines
$parts = explode("\n", $str);
// A longer comment that needs to give greater detail on what is
// occurring and why can use multiple single-line comments. Try to
// keep the width reasonable, around 70 characters is the easiest to
// read. Don't hesitate to link to permanent external resources
// that may provide greater detail:
//
// http://example.com/information_about_something/in_particular/
$parts = $this->foo($parts);
$parts = explode("\n", $str);
// A longer comment that needs to give greater detail on what is
// occurring and why can use multiple single-line comments. Try to
// keep the width reasonable, around 70 characters is the easiest to
// read. Don't hesitate to link to permanent external resources
// that may provide greater detail:
//
// http://example.com/information_about_something/in_particular/
$parts = $this->foo($parts);
2. TRUE, FALSE, NULL
이 키워드는 항상 대문자가 되어야 합니다.
INCORRECT:
if ($foo == true)
$bar = false;
function foo($bar = null)
CORRECT:
if ($foo == TRUE)
$bar = FALSE;
function foo($bar = NULL)
if ($foo == true)
$bar = false;
function foo($bar = null)
CORRECT:
if ($foo == TRUE)
$bar = FALSE;
function foo($bar = NULL)
3. 논리 연산자
|| 연산자는 숫자 11과 비슷해 보이므로 사용하지 않는 것이 좋습니다.
&& 연산자는 AND 보다 많이 쓰이지만 둘다 가능합니다.
! 연산자의 경우 앞뒤로 공백이 와야 합니다.
INCORRECT:
if ($foo || $bar)
if ($foo AND $bar) // okay but not recommended for common syntax highlighting applications
if (!$foo)
if (! is_array($foo))
CORRECT:
if ($foo OR $bar)
if ($foo && $bar) // recommended
if ( ! $foo)
if ( ! is_array($foo))
if ($foo || $bar)
if ($foo AND $bar) // okay but not recommended for common syntax highlighting applications
if (!$foo)
if (! is_array($foo))
CORRECT:
if ($foo OR $bar)
if ($foo && $bar) // recommended
if ( ! $foo)
if ( ! is_array($foo))
4. 리턴값 비교와 형 변환
어떤 PHP 함수는 실패했을 때 FALSE를 반환하지만, "" 나 0 값을 반환할 수도 있을 것입니다.
조건문에서 반환된 값을 사용할 때 가능하면 변수 유형을 비교하여 명시합니다. (===, !== 이용)
INCORRECT:
// If 'foo' is at the beginning of the string, strpos will return a 0,
// resulting in this conditional evaluating as TRUE
if (strpos($str, 'foo') == FALSE)
CORRECT:
if (strpos($str, 'foo') === FALSE)
// If 'foo' is at the beginning of the string, strpos will return a 0,
// resulting in this conditional evaluating as TRUE
if (strpos($str, 'foo') == FALSE)
CORRECT:
if (strpos($str, 'foo') === FALSE)
INCORRECT:
function build_string($str = "")
{
if ($str == "") // uh-oh! What if FALSE or the integer 0 is passed as an argument?
{
}
}
CORRECT:
function build_string($str = "")
{
if ($str === "")
{
}
}
function build_string($str = "")
{
if ($str == "") // uh-oh! What if FALSE or the integer 0 is passed as an argument?
{
}
}
CORRECT:
function build_string($str = "")
{
if ($str === "")
{
}
}
typecasting 도 매우 유용할 수 있습니다.
$str = (string) $str; // cast $str as a string
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,