php7
는 이전 assert()
함수에 대한 이전 버전과의 호환성 향상을 기대합니다. 기대값은 프로덕션 코드에서 비용이 전혀 들지 않는 어설션을 허용하고 어설션이 실패할 때 사용자 지정 예외를 발생시키는 기능을 제공합니다. assert()
는 첫 번째 인수가 테스트를 위해 String
또는 Boolean
을 비교하는 표현식인 언어 구성이 아닙니다. php7
期望是向后兼容的增强到旧 assert()
函数。期望允许在生产代码零成本的断言,并提供在断言失败时抛出自定义异常的能力。assert()
不是一种语言构建体,其中第一个参数是一个表达式的比较字符串
或布尔值
用于测试。
配置指令assert()
指示 | 默认值 | 可能的值 |
zend.assertions | 1 |
1 - 生成并执行代码(开发模式) 0 - 生成代码,但在运行时跳过它 -1 - 不生成代码(生产模式) |
assert.exception | 0 |
1 - 当断言失败时抛出异常提供的对象,或者在没有提供异常的情况下抛出一个新的 AssertionError 对象。 0 - 如上所述使用或生成Throwable,但仅生成基于该对象的警告而不是抛出它(与PHP 5行为兼容) |
参数:
断言 - 断言。 在PHP 5
中,它必须是要评估的字符串
或要测试的布尔值
。在PHP 7
中,这也可以是任何返回值的表达式,该值将被执行并且结果用于指示断言是成功还是失败。
描述 - 如果断言失败,则将包含在失败消息中的可选描述。
异常 - 在PHP 7
中,第二个参数可以是 Throwable
对象而不是描述性字符串,在这种情况下,如果断言失败并且启用了 assert.exception
配置指令,则这是将要抛出的对象。
返回值
如果断言是假的则返回FALSE
, 反之则返回TRUE
지침 | 기본값 | 가능한 값 |
zend.assertions | 1 |
1 - 코드 생성 및 실행(개발 모드) 0 - 코드를 생성하지만 런타임 시 건너뛰기 |
assert.Exception | 0 | 1 - 어설션이 실패할 때 예외를 발생시킵니다. 제공된 개체이거나, 예외가 제공되지 않은 경우 새 개체를 발생시킵니다. AssertionError 개체입니다. 0 - 위와 같이 Throwable을 사용하거나 생성하지만, Throwable을 던지는 대신 해당 객체를 기반으로 경고만 생성합니다(PHP 5 동작과 호환 가능) 🎜 |
PHP 5
에서는 평가할 String
또는 테스트할 Boolean
이어야 합니다. PHP 7
에서 이는 실행될 값과 어설션의 성공 또는 실패 여부를 나타내는 데 사용되는 결과를 반환하는 표현식일 수도 있습니다. 🎜PHP 7
에서 두 번째 매개변수는 설명 문자열 대신 Throwable
객체일 수 있습니다. 이 경우 이는 어설션이 실패하고 assert.Exception
구성 지시문이 활성화된 경우 던져질 개체입니다. 🎜 반환 값 🎜🎜 주장이 false이면 FALSE
를 반환하고, 그렇지 않으면 TRUE
를 반환합니다. 🎜🎜예: 🎜
<?php ini_set('assert.exception', 1); class CustomError extends AssertionError {} assert(false, new CustomError('Custom Error Message!')); ?>🎜다음 브라우저 출력을 생성합니다.🎜
Fatal error: Uncaught CustomError: Custom Error Message! in...🎜권장: 🎜php 비디오 튜토리얼🎜 🎜php7 튜토리얼🎜🎜
위 내용은 PHP7 기대치를 올바르게 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!