>  기사  >  백엔드 개발  >  PHP7 기대치를 올바르게 사용하는 방법

PHP7 기대치를 올바르게 사용하는 방법

autoload
autoload원래의
2021-03-19 10:35:022112검색

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 - 코드를 생성하지만 런타임 시 건너뛰기

-1 - 코드를 생성하지 않음(프로덕션 모드)

assert.Exception 0 1 - 어설션이 실패할 때 예외를 발생시킵니다. 제공된 개체이거나, 예외가 제공되지 않은 경우 새 개체를 발생시킵니다. AssertionError 개체입니다. 0 - 위와 같이 Throwable을 사용하거나 생성하지만, Throwable을 던지는 대신 해당 객체를 기반으로 경고만 생성합니다(PHP 5 동작과 호환 가능) 🎜
🎜 매개변수 :
🎜
  • 🎜Assertion - 주장. PHP 5에서는 평가할 String 또는 테스트할 Boolean이어야 합니다. PHP 7에서 이는 실행될 값과 어설션의 성공 또는 실패 여부를 나타내는 데 사용되는 결과를 반환하는 표현식일 수도 있습니다. 🎜
  • 🎜Description - 어설션이 실패할 경우 실패 메시지에 포함될 선택적 설명입니다. 🎜
  • 🎜예외 - PHP 7에서 두 번째 매개변수는 설명 문자열 대신 Throwable 객체일 수 있습니다. 이 경우 이는 어설션이 실패하고 assert.Exception 구성 지시문이 활성화된 경우 던져질 개체입니다. 🎜

반환 값 🎜🎜 주장이 false이면 FALSE를 반환하고, 그렇지 않으면 TRUE 를 반환합니다. 🎜🎜예: 🎜

<?php
   ini_set(&#39;assert.exception&#39;, 1);

   class CustomError extends AssertionError {}

   assert(false, new CustomError(&#39;Custom Error Message!&#39;));
?>
🎜다음 브라우저 출력을 생성합니다.🎜
Fatal error: Uncaught CustomError: Custom Error Message! in...
🎜권장: 🎜php 비디오 튜토리얼🎜 🎜php7 튜토리얼🎜🎜

위 내용은 PHP7 기대치를 올바르게 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.