0
votes

Déboguer PHP à l'aide de WAMP et d'un IDE

J'ai récemment commencé le développement Web. Le cours que j'ai suivi était d'installer WAMP et de commencer à développer tout de suite. J'ai utilisé un éditeur de texte atom, celui-ci -combiné avec wamp- s'est avéré être un moyen très rapide d'écrire du code côté client (HTML, CSS, Javascript).

Mais quand j'ai commencé à écrire en PHP côté serveur, les choses sont devenues un peu compliquées. Je devrais probablement expliquer la structure de mon site ici.

Je garde des fichiers PHP, CSS, javascript séparés pour chaque page côté client, pour le côté serveur, j'ai 2 types de fichiers PHP différents:

  1. Fichiers qui n'effectuent qu'une opération spécifique sur la base de données (par exemple, renvoyer «5 réponses supplémentaires»). Celles-ci sont toujours appelées par des requêtes AJAX.

  2. Fichiers qui chargent la page pour la première fois. Ceux-ci ne sont utilisés que lorsque l'utilisateur ouvre la page pour la première fois, ils effectuent les requêtes de base de données nécessaires et retournent la page. Les requêtes ultérieures vont toujours vers le 1er type de fichiers PHP.

Maintenant concernant mon problème. J'ai débogué jusqu'à présent en imprimant des variables à l'écran avec var_dump () ou en écho. Mais cela a commencé à devenir trop lent à mesure que les données avec lesquelles je travaille grandissaient. Je me demande s'il existe un moyen de débogage qui ne me laissera qu'un point d'arrêt dans l'un de mes fichiers PHP. Ensuite, lorsque je l'ouvre sur le navigateur, sur l'hôte local que j'ai créé avec WAMP, je vais me permettre de parcourir le fichier PHP étape par étape.

Je traite ce problème depuis 3 jours, j'ai essayé de le faire fonctionner avec Eclipse IDE mais je n'ai pas trouvé de moyen. De plus, il ne semble pas y avoir de didacticiels ou de questions-réponses sur Internet concernant le problème.


7 commentaires

Vous avez besoin de l'extension xdebug installée et d'un IDE qui la prend en charge. Je ne sais pas si Eclipse ou Atom le font, mais NetBeans et PHPStorm le font. Consultez ici .


Connaissez-vous XDebug ? Sinon, installer et utiliser XDebug serait une première étape.


@fvu Il est installé avec WAMP.


@AlexHowansky Je vais jeter un oeil à NetBeans et PHPStorm. Je recherche des IDE open-source même si je peux obtenir une licence d'étudiant pour PHPStorm.


Pour être tout à fait honnête, je n'ai jamais utilisé xdebug mais j'ai appris plus en pas en l'utilisant plutôt qu'en me fiant entièrement à xdebug. Je dois admettre que sans utiliser le rapport d'erreurs, vous n'apprendrez jamais correctement PHP, donc je suggère d'activer tous les modes de rapport d'erreurs: stackoverflow.com/questions/1053424/... Cependant, si vous ressentez le besoin, vous ne pouvez pas faire sans débogage outils, je suggérerais quelque chose comme ça pour Atom: atom.io/packages/php-debug


@ HalilKaragöz est d'accord, mais que 1) ne l'active pas dans Eclipse ni 2) nous indique qu'OP est conscient de son existence.


@BRO_THOM J'ai en fait essayé le plug-in php-debug pour Atom. Mais ne pouvait pas le faire fonctionner. Il n'y a tout simplement pas un bon tutoriel, je suppose. Avez-vous des liens utiles concernant cette solution, car ce serait la meilleure solution pour moi.


3 Réponses :


0
votes

Je ne connais pas de solution spécifique à votre problème. Je ne sais pas exactement ce que vous faites, mais en guise de conseil rapide, je trouve utile d'ajouter l'extrait suivant en haut du fichier, car il se trompera beaucoup plus facilement que le navigateur ne dit simplement non.

error_reporting(E_ALL);
ini_set('display_errors', 'On');


2 commentaires

Je débogue actuellement comme ça. Ce que je veux, c'est vérifier les résultats de ma requête sans les imprimer à chaque fois. Je prévois également de faire du traitement d'image plus tard, donc visualiser et manipuler des variables est un gros problème pour moi. Merci quand même.


Je suis désolé, je pense que je suis hors de ma profondeur sur cette question, je ne comprends pas comment vous pouvez vérifier les résultats sans voir les résultats. Pour moi, le débogage ou la vérification de la sortie de la requête consiste à connaître les résultats attendus, puis à voir ce que j'attends. Pour moi, c'est un élément fondamental des tests unitaires.



1
votes

Le débogage des points d'arrêt ouvre un tout nouveau monde et constitue l'étape naturelle après le débogage de var_dump () . Non seulement cela accélère le développement, mais cela fournit beaucoup plus d'informations sur votre code, car vous pouvez parcourir chaque ligne et voir quelles valeurs ont été définies à chaque étape et comment elles évoluent à mesure que votre programme exécute son code. Cela signifie que vous pouvez suivre l'intégralité des valeurs à différentes étapes en une seule exécution - imaginez suivre toutes les variables à chaque point en utilisant var_dump () !

Bien que le choix d'un IDE soit une décision personnelle basée sur vos goûts personnels, je vous recommande fortement d'essayer PhpStorm. Si vous pouvez obtenir une licence étudiant, allez-y.

PhpStorm a une documentation et des didacticiels complets sur toutes les fonctionnalités de l'EDI, le débogage ne fait pas exception:

https://www.jetbrains.com/help/phpstorm/configuring -xdebug.html

https://www.youtube.com/watch?v=GokeXqI93x8


1 commentaires

J'ai ajouté la réponse. Merci pour la réponse



0
votes

J'ai essayé ce qui est recommandé dans les commentaires et les réponses. J'ai d'abord essayé Netbeans. Pour être honnête, cela m'a déçu. Le téléchargement restait bloqué à 100%, même pour différentes versions. Quand j'ai arrêté de télécharger et que j'ai créé un projet php, il manquait des parties, je suppose. Je n'ai même pas réussi à créer un projet php. Mais c'est peut-être moi qui ne suis pas en mesure de le faire.

Ensuite, j'ai suivi la réponse de @ leuquim et le commentaire de @Alex Howansky et j'ai téléchargé PHPStorm. Et je l'ai fait fonctionner en pas plus de 20 minutes. Je l'ai téléchargé avec une licence d'étudiant. Pour les personnes qui souhaitent utiliser PHPStorm avec WAMP, voici un tutoriel Youtube:

https://www.youtube.com/watch?v=CxX4vnZFbZU

Une chose à noter dans la vidéo est que le créateur de la vidéo choisit l'application Web PHP dans les configurations d'exécution. Cela a été changé en page Web PHP.


0 commentaires