Syntaxe
function assert($assertion);
|
Paramètres
Nom |
Description |
$assertion |
Ce paramètre permet d'indiquer l'affirmation a vérifier. |
Retour
Valeur |
Description |
FALSE |
Cette valeur permet d'indiquer que l'affirmation est fausse. |
TRUE |
Cette valeur permet d'indiquer que l'affirmation est vrai. |
Description
Cette fonction permet de vérifier si une allégation est fausse.
Remarques
- Vérification des conditions pendant le développement : La fonction assert est utilisée pour vérifier des conditions logiques pendant l'exécution d'un
script. Si la condition fournie à assert est fausse, une erreur ou une exception est déclenchée. Cela permet aux développeurs de s'assurer que certaines hypothèses restent
valides dans le code.
- Fonctionnalité désactivable : Contrairement à d'autres mécanismes de vérification, les assertions (assert) peuvent être activées ou désactivées à
l'aide de la directive PHP zend.assertions. En production, il est recommandé de les désactiver pour éviter des impacts sur les performances.
- Expression ou chaîne comme paramètres : La fonction assert accepte soit une expression booléenne, soit une chaîne de caractères étant évaluée
dynamiquement avec eval(). L'utilisation de chaînes de caractères est déconseillée pour des raisons de sécurité, car elle expose le script à des vulnérabilités de
type injection.
- Comportement configurable avec assert_options : Le comportement d'assert peut être configuré à l'aide de la fonction assert_options. Par exemple,
vous pouvez définir une fonction de rappel personnalisée pour gérer les échecs ou choisir si les échecs génèrent des avertissements ou des exceptions.
- Exceptions depuis PHP 7.0 : À partir de PHP 7.0, assert peut lancer une exception de type AssertionError lorsqu'une assertion échoue, si l'option
assert.exception est activée. Cela permet une gestion plus robuste des erreurs, en particulier dans des environnements orientés objets.
- Outil de débogage uniquement : Les assertions ne doivent jamais être utilisées pour gérer la logique métier ou les erreurs utilisateur. Elles sont destinées
exclusivement au débogage et à la validation d'hypothèses internes dans le code. En production, une assertion qui échoue peut indiquer un problème sérieux dans le code.
- Impact potentiel sur les performances : Bien que les assertions soient utiles pour le développement, elles peuvent ralentir un script si elles sont nombreuses
et activées en production. Désactiver les assertions avec zend.assertions=-1 dans le fichier php.ini est une bonne pratique pour optimiser les performances.
- Dépréciation possible dans le futur : La fonction assert est parfois critiquée pour son manque de flexibilité par rapport à d'autres outils modernes de
gestion des erreurs. Bien qu'elle soit toujours disponible, certains développeurs préfèrent des alternatives comme les bibliothèques de test unitaires pour valider leurs
hypothèses.
Exemple
Voici un exemple d'une utilisation typique de cette fonction :
- <?php
- $a = 10;
- $b = NULL;
- $b = &$a;
-
- assert($b);
- echo $b;
- ?>
Dernière mise à jour : Dimanche, le 22 mars 2015