Exceptions PHP 7

Les exceptions PHP 7 sont utilisées pour la compatibilité ascendante et l'amélioration de l'ancienne fonction assert(). Il permet des assertions sans co?t dans les environnements de production et offre la possibilité de générer des exceptions et des erreurs personnalisées.

L'ancienne version de l'API continuera d'être maintenue à des fins de compatibilité. assert() est désormais une construction de langage qui permet au premier argument d'être une expression, pas seulement une cha?ne à évaluer ou un booléen. à tester.


configuration assert()

< th>Valeur par défaut< tr>
élément de configurationValeur facultative
zend.assertions1
    配置項默認值可選值
    zend.assertions1
    • 1 - 生成和執(zhí)行代碼 (開發(fā)模式)

    • 0 - 生成代碼,但在執(zhí)行時跳過它

    • -1 - 不生成代碼 (生產(chǎn)環(huán)境)

    assert.exception0
    • 1 - 斷言失敗時拋出,可以拋出異常對象,如果沒有提供異常,則拋出 AssertionError 對象實例。

    • 0 - 使用或生成 Throwable, 僅僅是基于對象生成的警告而不是拋出對象(與 PHP 5 兼容)

    1

    - Générer et exécuter du code (mode développement)
    • 0
    • - Générer du code, mais ignorer pendant l'exécution
    • -1
    • - ne pas générer de code (environnement de production)
assert.exception0
  • 1assertion - lorsque l'assertion échoue Lancer, vous pouvez lancer un objet d'exception, si aucune exception n'est fournie, une instance d'objet AssertionError est levée.

  • 0 - Utilisez ou générez Throwable, générez simplement des avertissements basés sur des objets au lieu de lancer des objets (compatible avec PHP 5)
Paramètres

assertion

Assertion. En PHP 5, une cha?ne pour l'exécution ou un booléen pour les tests. En PHP 7, il peut s'agir d'une expression qui renvoie n'importe quelle valeur, et le résultat sera utilisé pour indiquer si l'assertion a réussi.

description

Si
échoue, la description de l'option sera incluse dans le message d'échec.

exception

En PHP 7, le deuxième paramètre peut être un objet

Throwable
au lieu d'une cha?ne de caractères qui être lancé si l'assertion échoue et que assert.exception est activé.



Instance
Définissez zend.assertions sur 0?:


Instance

<?php
ini_set('zend.assertions', 0);
assert(true == false);
echo 'Hi!';
?>