Heim >Backend-Entwicklung >PHP7 >Wie man PHP7-Erwartungen richtig nutzt

Wie man PHP7-Erwartungen richtig nutzt

autoload
autoloadOriginal
2021-03-19 10:35:022165Durchsuche

php7 erwartet abwärtskompatible Erweiterungen der alten Funktion assert(). Erwartungen ermöglichen kostenlose Zusicherungen im Produktionscode und bieten die Möglichkeit, benutzerdefinierte Ausnahmen auszulösen, wenn Zusicherungen fehlschlagen. assert() ist kein Sprachkonstrukt, bei dem das erste Argument ein Ausdruck zum Vergleichen von String oder Boolean zum Testen ist. 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

Konfigurationsbefehl affirm()

Anweisungen Standardwert Mögliche Werte
zend.assertions 1
1 – Code generieren und ausführen (Entwicklungsmodus)

0 - Code generieren, aber zur Laufzeit überspringen

-1 - keinen Code generieren (Produktionsmodus)

assert.Exception 0 1 – Löst eine Ausnahme aus, wenn die Assertion fehlschlägt. Das bereitgestellte Objekt oder löst ein neues aus, wenn keine Ausnahme bereitgestellt wird. AssertionError-Objekt. 0 – Verwenden oder generieren Sie ein Throwable wie oben, generieren Sie jedoch nur Warnungen basierend auf diesem Objekt, anstatt es auszulösen (kompatibel mit PHP 5-Verhalten) 🎜
🎜 Parameter :
🎜
  • 🎜Behauptung – Behauptung. In PHP 5 muss es ein auszuwertender String oder ein zu testender Boolean sein. In PHP 7 kann dies auch ein beliebiger Ausdruck sein, der einen Wert zurückgibt, der ausgeführt wird, und das Ergebnis wird verwendet, um anzugeben, ob die Behauptung erfolgreich war oder fehlgeschlagen ist. 🎜
  • 🎜Beschreibung – Eine optionale Beschreibung, die in die Fehlermeldung aufgenommen wird, wenn die Behauptung fehlschlägt. 🎜
  • 🎜Ausnahme – In PHP 7 kann der zweite Parameter ein Throwable-Objekt anstelle einer beschreibenden Zeichenfolge sein. In diesem Fall ist dies das Objekt, das ausgelöst wird, wenn die Assertion fehlschlägt und die Konfigurationsanweisung assert.Exception aktiviert ist. 🎜

Rückgabewert 🎜🎜 Wenn die Behauptung falsch ist, wird FALSE zurückgegeben, andernfalls TRUE. 🎜🎜Beispiel: 🎜

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

   class CustomError extends AssertionError {}

   assert(false, new CustomError(&#39;Custom Error Message!&#39;));
?>
🎜Es erzeugt die folgende Browserausgabe:🎜
Fatal error: Uncaught CustomError: Custom Error Message! in...
🎜Empfohlen: 🎜php-Video-Tutorial🎜 🎜php7-Tutorial🎜🎜

Das obige ist der detaillierte Inhalt vonWie man PHP7-Erwartungen richtig nutzt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn