Analyse des erreurs PHP
Même les programmeurs expérimentés sont voués à commettre des erreurs pendant le processus de programmation. Les messages d'erreursont non seulement inutiles mais souvent frustrants si le développeur ne peut pas les remarquer et comprendre ce que signifie le message d'erreur du compilateur, donc une meilleure compréhension des messages d'erreur peut aider à gagner considérablement du temps sur la recherche et la correction du contenu erroné.
Déclaration de variable : Si vous déclarez une variable dans une instruction comme suit : $var = 'value'; le compilateur trouvera d'abord la valeur de la moitié droite de l'instruction , c'est cette partie de l'instruction qui provoque souvent des erreurs. Si vous utilisez une syntaxe incorrecte, vous obtiendrez une erreur d'analyse.
Par exemple, Erreur d'analyse : Erreur d'analyse, T_
WHILE inattendu dans c:program filesapache groupapachehtdocsscript.php à la ligne 19 Les erreurs d'analyse se succédaient et PHP arrêtait d'exécuter le script après la première erreur d'analyse à chaque fois que l'erreur précédente était déterminée. De plus, les erreurs d'analyse contiennent très peu d'informations, avec presque aucun rapport sur le numéro de ligne où l'erreur s'est produite. Par exemple, des mots-clés prédéfinis sont utilisés dans l'expression
, par exemple : while = 10 ; while est un mot-clé prédéfini et ne peut pas se voir attribuer de valeur. Les mots-clés prédéfinis incluent while, function, etc. Nous ne pouvons pas utiliser ces mots-clés prédéfinis pour nommer des variables, sinon le compilateur signalera une erreur. Parmi eux, T_IF représente if(), T_WHILE représente while(), T_FOR représente for(), etc. Erreurs courantes :
guillemets manquants dans la chaîne
, etc. De plus, les accolades (}) ne sont pas utilisées pour terminer une fonction ou une boucle, par exemple : function UselessFunction() {for($ i < 0; $i < 10; $i++){
}
générera l'erreur suivante :
Puisque la fonction UselessFunction ne se termine pas par une accolade (}), le compilateur PHP continuera à rechercher l'accolade fermante jusqu'à ce qu'elle atteigne la fin du fichier. Étant donné que le compilateur ne trouve pas d'accolade correspondante, il signale une erreur de fin de fichier.
Si la hiérarchie du code est correctement reflétée, les messages d'erreur deviendront très évidents. Sinon, le code sera très difficile à déboguer. Par conséquent, assurez-vous d'indiquer la structure hiérarchique du code, ce qui permettra aux développeurs ultérieurs d'améliorer plus facilement le code.
MySQL Erreur :
resource in...La mauvaise ligne signalée ci-dessus peut être : while($row =
mysql_fetch_array($result)) {} Le paramètre $result n'est pas valide ressource, car query
a échoué et mysql_fetch_array ne sera pas traité. Toute requête avec une syntaxe invalide ou un échec de connexion à la base de données doit être testée dans la console MySQL. Erreurs plus faciles
Notez la différence entre
echo- et
- print
: echo et Print sont tous deux utilisés pour la sortie, mais il existe encore des différences subtiles entre les deux. Il n'y a pas de valeur de retour après la sortie d'écho, mais print a une valeur de retour et renvoie false lorsque son exécution échoue. Par conséquent, elle peut être utilisée comme une fonction normale, par exemple, si $r = print "Hello World" est exécuté, la valeur de la variable $r sera 1. De plus, l'instruction echo dans le code s'exécute légèrement plus rapidement que l'instruction print.
NULL
Notez la différence entre une chaîne vide ('') et : - Les chaînes vides et NULL en PHP sont stockées avec une valeur de 0, mais Leurs types ne sont pas les mêmes. Le premier est
Distinguer la différence entre == (égal ET) et === (ET congru) :
Les deux appartiennent à l' opérateur de comparaison , == (égal) Il compare uniquement si les valeurs sont égales, tandis que === (tous égaux) compare non seulement si les valeurs sont égales, mais compare également si les types sont égaux, ce qui est plus strict.Distinguer la différence entre include et require : Les fonctions de
include() et require() sont fondamentalement les mêmes, mais dans l'utilisation, il existe également quelques différences. include() est une fonction d'inclusion conditionnelle, tandis que require() est une fonction d'inclusion inconditionnelle. Par exemple, dans le code suivant, si la variable $a est vraie, le fichier a.php sera inclus : if($a){
include("a.php");
}
Et require() est différent de include(). Quelle que soit la valeur prise par $a, le code suivant inclura le fichier a.php :
if($a){
require( "a .php");
>
En termes de
gestion des erreurs, utilisez l'instruction include. Si une erreur d'inclusion se produit, le programme ignorera l'instruction include bien que le message d'erreur le fasse. s'affichera, le programme continuera à s'exécuter. Cependant, l'instruction require provoque une erreur fatale.- Notez la différence entre is
set et vide : empty sert à déterminer si une variable est "vide", tandis que isset sert à déterminer si une variable a été mis en place.
- Distinguer la différence entre self :: et ceci-->:
Lors de l'accès à des variables ou méthodes membres dans une classe PHP, si elle est référencée par
Si une variable ou une méthode est déclarée const (constant) ou static (staticattribut), alors l'opération de domaine doit être utilisé l'opérateur ::, et si la variable ou la méthode référencée n'est pas déclarée comme const ou static, alors utilisez l'opérateur de pointage ->.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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Alipay Php ...

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Le détournement de la session peut être réalisé via les étapes suivantes: 1. Obtenez l'ID de session, 2. Utilisez l'ID de session, 3. Gardez la session active. Les méthodes pour empêcher le détournement de la session en PHP incluent: 1. Utilisez la fonction Session_RegeReate_id () pour régénérer l'ID de session, 2. Stocker les données de session via la base de données, 3. Assurez-vous que toutes les données de session sont transmises via HTTPS.

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

Comment déboguer le mode CLI dans phpstorm? Lors du développement avec PHPStorm, nous devons parfois déboguer PHP en mode interface de ligne de commande (CLI) ...

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...
