Heim >Backend-Entwicklung >PHP7 >Wie man PHP7-Erwartungen richtig nutzt
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
Anweisungen | Standardwert | Mögliche Werte |
zend.assertions | 1 |
1 – Code generieren und ausführen (Entwicklungsmodus) 0 - Code generieren, aber zur Laufzeit überspringen |
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) 🎜 |
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. 🎜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('assert.exception', 1); class CustomError extends AssertionError {} assert(false, new CustomError('Custom Error Message!')); ?>🎜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!