Assert () est une fonction très unique et utile en PHP, principalement utilisée pour le débogage et la vérification du code. Son objectif est de faire des affirmations, et si le résultat de l'expression est faux , une erreur ou un avertissement sera lancé. Il est généralement utilisé pour détecter si les hypothèses du programme en développement sont vraies et s'assurer que le code répond au comportement attendu pendant le fonctionnement.
Dans PHP, la fonction ASSERT () est utilisée pour vérifier si une expression donnée est vraie . Si l'affirmation échoue, elle lancera un avertissement (ou une erreur), qui est généralement utilisé pour déboguer le code.
assert(mixed $assertion): bool;
$ assertion : une expression qui renvoie vrai ou faux .
Valeur de retour: si Assert est vrai, affirmer () renvoie true , sinon faux .
<?php
$x = 10;
assert($x > 5); // Cette affirmation est valable,Aucun avertissement déclenché
assert($x < 5); // L'affirmation a échoué,Déclenchera un avertissement
?>
Dans cet exemple, Assert ($ x> 5) passe avec succès et affirmer ($ x <5) déclenche un avertissement.
Le comportement de la fonction assert () peut être modifié en définissant le fichier de configuration PHP php.ini . Par exemple, vous pouvez configurer un gestionnaire personnalisé ou activer ou désactiver les affirmations. Les options de configuration courantes sont les suivantes:
Cette option est utilisée pour activer ou désactiver les affirmations. En le définissant sur 1 , cela signifie que l'affirmation est activée et la définition de 0 Désactiver l'affirmation.
zend.assertions = 1 // Activer l'affirmation
Si ASSERT () est activé et que l'affirmation ne parvient pas à être lancée. Lorsqu'il est défini sur 1 , une défaillance d'affirmation lèvera une exception d'assistance .
assert.exception = 1 // Jetez une exception lorsque l'affirmation échoue
Les affirmations sont souvent utilisées pendant le développement pour vérifier les hypothèses du code. Ils peuvent aider les développeurs à repérer les problèmes potentiels tôt, plutôt que d'attendre le fonctionnement du programme. Par exemple, assurez-vous que les paramètres d'entrée d'une fonction sont comme prévu:
function divide($a, $b) {
assert($b != 0, 'Le diviseur ne peut pas être nul');
return $a / $b;
}
Dans cet exemple, Assert () vérifie si $ b est nul, et si oui, l'affirmation échoue et une erreur est lancée.
Dans les tests unitaires, ASSERT () peut être utilisé pour vérifier que le comportement d'une fonction ou d'une méthode est comme prévu. Par exemple, une fonction doit toujours renvoyer une valeur positive:
function getPositiveNumber($num) {
assert($num > 0, 'La valeur de retour doit être un nombre positif');
return $num;
}
assert () peut également être utilisé pour optimiser les performances. Si une opération est redondante dans certaines conditions spécifiques, vous pouvez vérifier si ces conditions sont remplies par des affirmations afin d'éviter les calculs ou le traitement inutiles.
Lorsque l'affirmation échoue, PHP se comportera différemment en fonction de la configuration. Par défaut, une affirmation échouée déclenche un message d'avertissement similaire au formulaire suivant:
Warning: assert(): Assertion failed in /path/to/file.php on line X
Si Assert.Exception est défini sur 1 , une exception AssertionError est lancée et le développeur peut le capturer dans la manipulation des exceptions.
try {
assert($x > 5); // L'affirmation a échoué会抛出异常
} catch (AssertionError $e) {
echo 'L'affirmation a échoué: ' . $e->getMessage();
}
Le PHP nous permet également de contrôler plus granulant le comportement lorsque l'assertion échoue par le mécanisme de gestion des erreurs d' ASSERT () . Vous pouvez définir une fonction de rappel via ASSERT_CALLBACK et l'appeler lorsque l'affirmation échoue.
assert_options(ASSERT_CALLBACK, function ($file, $line, $code) {
echo "L'affirmation a échoué:document $file,1 et 1 $line D'ACCORD,Code $code";
});
Cela personnalisera la méthode de sortie d' Assert () en cas d'échec, aidant les développeurs à mieux localiser les problèmes.
Dans les environnements de production, il n'est généralement pas recommandé d'allumer les affirmations car elles peuvent affecter les performances. Dans un environnement de production, vous pouvez désactiver les affirmations en modifiant le fichier de configuration php.ini :
zend.assertions = -1 // Désactiver les assertions
De cette façon, Assert () n'aura aucun impact sur l'exécution du programme et évitera les pertes de performances.
Les affirmations ne sont qu'un outil de temps de développement et doivent être désactivées dans les environnements de production.
L'affirmation elle-même n'affecte pas la logique du programme, elle n'est utilisée que comme outil de vérification pendant le débogage.
Lorsqu'une affirmation échoue, le degré de détail du message d'erreur peut varier en fonction de la configuration.
La fonction ASSERT () est un outil de débogage très utile en PHP qui peut aider les développeurs à attraper des erreurs ou un comportement potentiels qui ne répondent pas aux attentes pendant le développement. Grâce à une configuration et à une utilisation raisonnables, Assert () peut non seulement améliorer la fiabilité du code, mais également optimiser le positionnement des erreurs pendant le processus de développement. Cependant, il convient de noter que les affirmations doivent être désactivées dans les environnements de production pour garantir que les performances du programme ne sont pas affectées.