좋은 프로그래밍 방법을 따르고 있으며 PHP 오류를 사용자에게 표시하는 대신 파일에 기록합니다. 나는 set_error_handler()
을 사용합니다.@ 오류 억제 연산자 및 set_error_handler
이제 문제가 발생했습니다. 예를 들어, 어딘가에 있습니다 :
@file_exists('/some/file/that/is/outside/openbasedir.txt');
그러나 오류 억제 연산자에도 불구하고 오류 메시지가 기록됩니다. 나는 그것을 원하지 않는다. 억제 된 오류가 내 오류 처리기로 전달되지 않도록하고 싶습니다.
'@'을 사용하지 마십시오. 그것의 좋은 징조는, 당신이 잘못한 일을하지 않았고 그것을 고치고 싶지 않습니다. 그러나 문 자체가'@ '를 통해 "조용 해지더라도"errorhandler-callback이 호출됩니다. – KingCrunch
'@ a를 사용하는 것은'isset ($ a)? $ a : '''대신에 받아 들일 수 있다고 생각합니다. 코드 가독성은 "단점"보다 우선합니다. –
@Rok : 성능에 영향을 미칩니다. '@'는 에러를 감추지 만, 여전히 생성되고, 포맷팅되고, 에러 핸들러가 호출된다. 코드를 구조화하면 isset()을 많이 사용할 필요가 없다. – arnaud576875