PROGRAMMING/PHP

[php] @ 골뱅이는 무엇이냐

OJR 2010. 6. 30. 16:45

 

PHP에서 "@" 기호는 오류 제어 연산자로 사용됩니다. 표현식 앞에 배치하면 해당 표현식이 오류를 생성하는 경우 PHP가 일반적으로 생성하는 오류 메시지나 경고를 표시하지 않습니다.


예를 들어 존재하지 않는 함수 호출 앞에 "@" 기호를 사용하면 오류 메시지를 표시하는 대신 PHP는 오류를 무시하고 다음 코드 줄로 이동합니다.


"@" 연산자는 특정 상황에서 유용할 수 있지만 코드를 디버그하고 오류를 식별하기 어렵게 만들 수 있으므로 일반적으로 주의해서 사용해야 합니다. 대부분의 경우 오류를 단순히 무시하는 것보다 명시적이고 우아하게 처리하는 것이 좋습니다.

 

<?php
// This code will generate a warning message because the variable $name is not defined
echo "Hello, $name!";

// Using the "@" operator suppresses the warning message and outputs an empty string instead
echo "Hello, " . @$name . "!";
?>

이 예에서 코드의 첫 번째 줄은 $name 변수가 정의되지 않았기 때문에 경고 메시지를 생성합니다. 그러나 코드의 두 번째 줄에서 $name 앞에 "@" 연산자를 사용하면 PHP는 경고 메시지를 표시하지 않고 대신 빈 문자열을 출력합니다.


어떤 경우에는 "@" 연산자가 유용할 수 있지만 일반적으로 단순히 오류를 억제하는 것보다 오류를 명시적이고 우아하게 처리하는 것이 더 좋습니다. 이 예제에서는 $name이 정의되어 있는지 확인하고 사용하기 전에 폴백 값이나 오류 메시지를 제공하는 것이 좋습니다.

반응형

'PROGRAMMING > PHP' 카테고리의 다른 글

Hudson php  (0) 2010.12.07
php.ini 버그 보여주기  (0) 2010.08.16
[PHP] Allowed memory size of 16777216 bytes exhausted  (0) 2010.03.04
[PHP] flush()  (0) 2010.01.19
php upload 용량 제한  (0) 2010.01.14