Éviter les vérifications excessives des variables en PHP
Q : Comment puis-je éviter d'utiliser isset(), empty() et array_key_exists() vérifie mon code PHP sans sacrifier E_NOTICE compatibilité ?
A :
Bien qu'il soit important de garantir la compatibilité E_NOTICE pour détecter les variables manquantes, une utilisation excessive de isset() et empty() peut gonfler et encombrer le code . Voici quelques approches alternatives à considérer :
1. Initialisation appropriée des variables
-
Arguments de fonction : utilisez les valeurs de paramètres par défaut pour éviter les vérifications isset().
-
Variables régulières : Initialiser les variables en haut des blocs de code avec null ou default valeurs.
-
Tableaux : Fusionner les valeurs par défaut avec les tableaux entrants à l'aide de array_merge().
2. Gestion des valeurs nulles
- Utilisez isset() ou empty() uniquement lorsque cela est nécessaire, comme dans le cas d'une sortie de modèle où les valeurs peuvent être indéfinies.
- Envisagez d'utiliser array_key_exists() avec parcimonie, et évaluez l'utilisation de valeurs nulles dans la logique de votre code.
3. Refactorisez le code mal structuré
- Les avis concernant les variables manquantes indiquent des problèmes structurels potentiels dans votre code.
- Envisagez une restructuration pour éliminer les situations dans lesquelles des variables inexistantes sont régulièrement rencontrées.
4. Utilisation de l'opérateur de fusion nul (PHP7)
- Le ?? L'opérateur attribue une valeur par défaut aux variables non définies ou nulles, réduisant ainsi le besoin de vérifications isset().
En adoptant ces pratiques, vous pouvez maintenir la compatibilité E_NOTICE sans compromettre la lisibilité du code et éviter des vérifications de variables excessives.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn