PHP 7 예외
PHP 7 예외
PHP 7 예외는 이전 버전과의 호환성과 이전 Assert() 기능의 향상을 위해 사용됩니다. 프로덕션 환경에서 비용이 전혀 들지 않는 어설션을 활성화하고 사용자 지정 예외 및 오류를 발생시키는 기능을 제공합니다.
이전 버전의 API는 호환성 목적을 위해 계속 유지 관리됩니다. 이제 Assert()는 언어 구문으로, 첫 번째 매개 변수가 계산할 문자열이나 테스트할 부울이 아닌 표현식이 될 수 있습니다.
assert() 구성
구성 항목 | 기본값 | 선택값 |
---|---|---|
zend.assertions | 1 |
|
assert.Exception | 0 |
|
이 실패할 경우 옵션 설명이 실패 메시지에 포함됩니다.
- Exception
PHP 7에서 두 번째 매개변수는 문자열 대신
Throwable 객체일 수 있습니다. 이 객체는 어설션이 실패하고 Assert.Exception이 활성화된 경우 발생합니다. - Instance
zend.assertions를 0으로 설정:
assertion
Instance<?php ini_set('zend.assertions', 0); assert(true == false); echo 'Hi!'; ?>
위 프로그램 실행 출력은 다음과 같습니다.Hi!
zend.assertions를 1로 설정하면,assert.Exception이 설정됩니다. 1:
인스턴스
<?php ini_set('zend.assertions', 1); ini_set('assert.exception', 1); assert(true == false); echo 'Hi!'; ?>위 프로그램 실행 출력 결과는 다음과 같습니다.
치명적인 오류: Uncaught AssertionError: 주장(true == false) in -:2
스택 추적:#0 -(2): 주장(false, 'assert(true == ...')
#1 {main} 던져진 - 라인 2