PHP7 Expectations - Assert() Expectations
Assert() Expections
Expectations는 이전 assert()
함수에 대한 하위 호환성 향상입니다.
프로덕션 코드에서 비용이 없는 assertion을 허용하고 어설션이 실패 할 때 사용자 지정 예외를 throw
하는 기능을 제공합니다.
이전 API는 호환성을 유지하기 위해 계속 유지되지만 assert()
는 이제는 언어구문으로 제공되며,
첫 번째 매개 변수를 평가할 문자열 또는 테스트 할 부울 값이 아닌 표현식으로 사용할 수 있습니다.
운영환경에서 asert()
기능을 구성하는 방법을 포함하여 기능에 대한 자세한 내용은 assert() > expectations절을 참조하세요.
Configuration for Assert() 설정 옵션
Directive |
기본값 |
설정 가능 옵션 |
zend.assertions |
1 |
1 − generate and execute code (development mode) |
assert.exception |
0 |
1 − throw, when the assertion fails, either by throwing the object provided as the exception or by throwing a new AssertionError object if exception was not provided. |
Parameters
- assertion
- PHP5 평가할 문자열/부울값. PHP7에서는 값을 반화하는 어떤 식이든 실행될수 있으며, 결과는 평가 성공/실패 여부를 나타낸다.
- description
- 평가 실패시 실패 메세지에 포함될 설명.
- exception
- PHP7에서 2벉째 파라미터 description은 생략하고, exception 객체를 사용할 수 있다. 평가가 실패할 경우 사용자가 정의한 exceeption 객체가 반환된다.
Example
ini_set('assert.exception', 1); class CustomError extends AssertionError {} assert(false, new CustomError('Some error message')); // Fatal error: Uncaught CustomError: Some error message