Débogage - Nous le faisons tous beaucoup. Écrire parfaitement le code la première fois est difficile et seuls quelques (voire aucun) réussissent. Il y a plus d'un an, Shameer a écrit un article sur SitePoint sur la façon dont vous pouvez déboguer votre application à l'aide de XDebug et NetBeans. Dans cet article, nous allons voir comment nous pouvons déboguer en utilisant xdebug en combinaison avec le texte sublime.
Tout d'abord, nous devons installer l'extension PHP XDEBUG. Si vous ne savez pas comment faire cela, veuillez consulter le lien fourni dans l'introduction. Assurez-vous que XDebug fonctionne en vérifiant s'il est répertorié dans votre phpinfo ().
Bien sûr, nous avons également besoin de texte sublime. J'utiliserai la dernière version: sublime texte 3. Cela devrait également fonctionner avec le texte sublime 2.
Nous devons configurer XDebug en ajoutant ce qui suit à votre fichier php.ini, ou même mieux, à un fichier xdebug.ini comme décrit ici sous la manière de faire sur Linux.
<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>
En général, vous utiliserez 127.0.0.1 en tant qu'hôte. Cependant, si vous utilisez Vagrant par exemple, vous utiliserez quelque chose comme 10.0.2.2, selon l'endroit où XDebug peut trouver votre système.
Le journal distant n'est pas nécessaire, mais en cas de problèmes, c'est l'endroit où vous pouvez trouver des informations sur les erreurs qui se sont produites.
N'oubliez pas de redémarrer votre serveur Web!
L'une des forces du sublime est le fait que vous pouvez l'étendre facilement avec des packages. Dans ce cas, nous allons installer le package xdebug. Si vous ne l'avez pas déjà fait, assurez-vous que vous pouvez installer des packages en installant le contrôle des packages.
Une fois que le contrôle du package est installé, vous devez démarrer le texte sublime 3. Ouvrez la palette de commande dans le menu des outils et recherchez «Installer le package».
Maintenant, vous pouvez rechercher n'importe quel package que vous aimez. Dans notre cas, nous allons rechercher le package «Client XDebug».
Le dernier bit que nous devons faire est de configurer le projet dans Sublime. La façon la plus simple de le faire est d'ouvrir le répertoire racine de votre application, d'aller dans des projets et de cliquer sur «Enregistrer les projets sous». Je vous suggère d'enregistrer le fichier dans la racine de votre application, afin que vous puissiez l'enregistrer dans votre système de contrôle de version si vous en utilisez et vous pouvez le configurer facilement à tout moment.
Ouvrez le fichier de projet juste créé. Le contenu ressemblera à ceci:
<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>
Nous allons ajouter quelques lignes supplémentaires:
<span>{ </span><span> "folders": </span><span> [ </span><span> { </span><span> "follow_symlinks": true, </span><span> "path": "." </span><span> } </span><span> ] </span><span>}</span>
Comme vous pouvez le voir, je n'ai ajouté qu'une URL à mon application Web réelle. Je pourrais définir plus de paramètres pour xdebug, cependant, cela suffit pour commencer. J'aurais également pu définir cette URL dans les paramètres XDebug lui-même, mais dans ce cas, je ne pouvais pas travailler sur plusieurs projets sans avoir à modifier la configuration XDebug à chaque fois.
Nous pouvons maintenant démarrer la session XDebug pour voir si tout est configuré correctement. Dans le menu, cliquez sur les outils -> xdebug et cliquez sur Démarrer le débogage (lancement du navigateur). Vous remarquerez que votre site Web est ouvert et que? Xdebug_session_start = sublime.xdebug est ajouté à la fin de l'URL. Cela commencera la session XDebug. En sublime, certains panneaux supplémentaires apparaissent où les informations de débogage seront affichées, après avoir établi un ou plusieurs points d'arrêt.
Délivons le premier point d'arrêt. Un point d'arrêt est essentiellement un drapeau où votre application s'arrêtera lorsqu'elle l'atteindra. Pour le moment, il s'arrête, vous pouvez inspecter toutes les valeurs des variables afin que vous sachiez en fait ce qui se passe.
Nous pouvons ajouter un point d'arrêt en cliquant avec notre souris droite sur une ligne, en allant à Xdebug, puis en cliquant sur Ajouter / supprimer le point d'arrêt. Un marqueur sera ajouté à la gouttière de ligne pour indiquer qu'un point d'arrêt a été défini.
Nous ouvrons à nouveau notre navigateur et continuons avec la session que nous venons de commencer. Vous remarquerez que dès que vous allez sur la page où se trouve le point d'arrêt, la page cessera de charger. Si vous ouvrez maintenant Sublime, vous verrez beaucoup d'informations affichées dans les panneaux XDebug.
La pile Xdebug et le contexte XDebug sont très intéressants. Dans la pile, vous pouvez voir l'ensemble de StackTrace que votre appel est passé.
Dans le contexte, vous verrez toutes les variables globales, mais aussi les variables que vous avez définies vous-même. Vous pouvez cliquer sur ces variables pour voir exactement ces variables. Par exemple, dans la capture d'écran ci-dessous, j'ai cliqué sur la variable $ _server.
Notez qu'une flèche jaune pointe vers la ligne sur laquelle l'application est actuellement interrompue.
Ainsi, notre application s'est arrêtée et maintenant nous pouvons parcourir les variables définies. Cependant, nous avons terminé et nous voulons continuer. Quoi maintenant? Lorsque vous êtes à nouveau, cliquez sur la souris, cliquez à nouveau et survolez le menu XDebug, vous aurez plusieurs options:
Run and Stop est assez facile à comprendre. Les méthodes d'étape pourraient être un peu déroutantes. Plongeons-nous avec un exemple simple.
<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>
Imaginez que vous avez ajouté un point d'arrêt à la première ligne de la barre de méthode. Donc, sur la ligne avec le commentaire de point d'arrêt (// point d'arrêt).
En passant, le débogueur entrera dans la méthode FOOBAR et s'arrêtera là à la première ligne. Ainsi, dans ce cas, le débogueur s'arrêtera sur le retour array_values ($ arr); ligne.
Le pas appellera la méthode, mais ne s'arrêtera pas. Il s'arrêtera à la ligne suivante disponible après avoir appelé la méthode. Donc, dans ce cas, il s'arrêtera au retour $ arr;
Enfin, avec pas, il passera à travers toute la méthode de la barre et reviendra à l'appelant. Dans ce cas, il sortira de l'objet, de retour à l'appelant d'origine.
Si vous décidez simplement d'exécuter, l'application s'exécutera davantage jusqu'au moment où il est fait de l'exécution ou un autre point d'arrêt se produit.
Dans cet article, nous avons vu comment nous pouvions intégrer XDebug à Sublime et nous assurer que nous comprenions comment déboguer. Presque tous les IDE adaptés à PHP peuvent s'intégrer à XDebug. Si vous êtes intéressé à déboguer comme celui-ci dans Netbeans, consultez l'article mentionné dans l'introduction. Utilisez-vous des points d'arrêt? Ou utilisez-vous des fonctions PHP comme var_dump pour obtenir vos données de débogage? Faites-nous savoir dans les commentaires ci-dessous!
Pour installer xdebug pour le texte sublime 3, vous devez d'abord installer l'extension PHP xdebug. Cela peut être fait en téléchargeant le fichier DLL approprié à partir du site Web XDebug et en l'ajoutant à votre répertoire d'extensions PHP. Après cela, vous devez modifier votre fichier php.ini pour inclure l'extension xdebug. Une fois l'extension XDebug PHP installée, vous pouvez installer le package xdebug pour le texte sublime 3 en utilisant le contrôle du package.
Configuration de XDebug pour le texte sublime 3 implique la modification de votre fichier php.ini et de vos paramètres Sublime Text 3. Dans votre fichier php.ini, vous devez définir les paramètres xdebug.remote_enable et xdebug.remote_autostart vers 1. Dans votre paramètres Sublime Text 3, vous devez spécifier le chemin d'accès à l'exécutable PHP et le numéro de port que Xdebug devrait utiliser pour la communication .
Si Xdebug ne fonctionne pas dans le texte sublime 3, il pourrait y avoir plusieurs raisons. Un problème courant est que l'extension XDebug PHP n'est pas installée ou configurée correctement. Un autre problème pourrait être que le package XDebug pour Sublime Text 3 n'est pas installé ou configuré correctement. Il est également possible qu'il y ait un problème avec vos paramètres PHP ou SUblime Text 3.
pour utiliser XDebug pour déboguer le code PHP dans Texte sublime 3, vous devez d'abord définir un point d'arrêt dans votre code. Cela peut être fait en cliquant dans le gouttière à côté de la ligne de code où vous voulez le point d'arrêt. Une fois le point d'arrêt défini, vous pouvez démarrer la session de débogage en sélectionnant «Déboguer le débogage» dans le menu XDebug.
Oui, vous, vous Peut utiliser xdebug avec un texte sublime 3 sur un Mac. Le processus d'installation et de configuration de XDebug sur un Mac est similaire au processus pour Windows, mais il existe des différences. Par exemple, l'emplacement du fichier php.ini et le répertoire d'extensions PHP peuvent être différents.
pour afficher les valeurs variables avec XDebug Dans Sublime Text 3, vous devez utiliser la fonction «Watch». Cela vous permet de spécifier des variables que vous souhaitez surveiller pendant la session de débogage. Lorsqu'une variable regardée change, sa nouvelle valeur s'affiche dans le panneau XDebug.
Oui, vous pouvez parcourir le code avec xdebug dans Texte sublime 3. Ces commandes vous permettent de contrôler l'exécution de votre code ligne par ligne, ce qui facilite l'identification et la correction des bogues.
pour arrêter Une session de débogage dans Sublime Text 3, vous pouvez utiliser la commande «Stop Debugging» dans le menu Xdebug. Cela mettra fin à la session de débogage et au contrôle du texte sublime 3.
Oui, vous pouvez déboguer les applications PHP distantes avec xdebug et Texte sublime 3. Cela nécessite une configuration supplémentaire, y compris la définition des paramètres xdebug.remote_host et xdebug.remote_port dans votre Fichier php.ini.
Mis à jour en téléchargeant le dernier fichier DLL à partir du site Web XDebug et en remplaçant le fichier DLL existant dans votre répertoire d'extensions PHP. Le package xdebug pour le texte sublime 3 peut être mis à jour à l'aide du contrôle du package.
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!