{"id":221,"date":"2022-12-03T22:56:49","date_gmt":"2022-12-03T21:56:49","guid":{"rendered":"https:\/\/darkcity.fr\/blog\/?p=221"},"modified":"2022-12-03T22:56:49","modified_gmt":"2022-12-03T21:56:49","slug":"environnement-de-dev-php-avec-vs-code","status":"publish","type":"post","link":"https:\/\/darkcity.fr\/blog\/2022\/12\/03\/environnement-de-dev-php-avec-vs-code\/","title":{"rendered":"Environnement de Dev PHP avec VS Code"},"content":{"rendered":"\n<p>Nous allons aujourd&rsquo;hui cr\u00e9er un environnement de Dev PHP avec debugger.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pr\u00e9 requis<\/h2>\n\n\n\n<p>Il faudra installer :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Visual Studio Code&nbsp;<a href=\"https:\/\/code.visualstudio.com\/\">https:\/\/code.visualstudio.com\/<\/a><\/li>\n\n\n\n<li>GitHub Desktop&nbsp;<a href=\"https:\/\/desktop.github.com\/\">https:\/\/desktop.github.com\/<\/a><\/li>\n\n\n\n<li>Wnmp&nbsp;<a href=\"https:\/\/wnmp.x64architecture.com\/downloads\/\">https:\/\/wnmp.x64architecture.com\/downloads\/<\/a><\/li>\n\n\n\n<li>Votre version P\u00a8HP&nbsp;<a href=\"https:\/\/www.php.net\/downloads.php\">https:\/\/www.php.net\/downloads.php<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Configuration Wnmp<\/h2>\n\n\n\n<p>Vous avez ici le choix d&rsquo;utiliser la version de PHP pr\u00e9install\u00e9e, ou d&rsquo;utiliser vontre version de PHP. Si vous installez une version suppl\u00e9mentatio<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Installation PHP (Optionnel)<\/h3>\n\n\n\n<p>T\u00e9l\u00e9charger une version VS16 x64 Non Thread Safe au format Zip et d\u00e9zipper la dans le dossier Wnmp \/ php-bins dans un dossier avec le nom de votre version 8.x.y<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Installation XDebug (Optionnel)<\/h3>\n\n\n\n<p>Ouvrir la page <a href=\"http:\/\/localhost\/\" data-wplink-url-error=\"true\">https:\/\/localhost<\/a><\/p>\n\n\n\n<p>Copier coller le contenu dans l&rsquo;outil de configuration XDebug :<\/p>\n\n\n\n<p><a href=\"https:\/\/xdebug.org\/wizard\">https:\/\/xdebug.org\/wizard<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/Zo24svj0er-1.png\" alt=\"\" class=\"wp-image-234\" width=\"480\" height=\"527\" srcset=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/Zo24svj0er-1.png 872w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/Zo24svj0er-1-273x300.png 273w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/Zo24svj0er-1-768x843.png 768w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/7d3nacAI1d.png\" alt=\"\" class=\"wp-image-232\" width=\"462\" height=\"444\" srcset=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/7d3nacAI1d.png 785w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/7d3nacAI1d-300x289.png 300w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/7d3nacAI1d-768x740.png 768w\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" \/><\/figure>\n\n\n\n<p>Suivez les steps propos\u00e9s en t\u00e9l\u00e9chargeant le fichier dll et en le d\u00e9posant dans le dossier mod du dossier de votre version de PHP.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PHP.ini<\/h3>\n\n\n\n<p>Dans la section \u00ab\u00a0Dynamic Extensions\u00a0\u00bb, Activer le module zend :<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-small-font-size\">zend_extension=xdebug<\/p>\n<\/blockquote>\n\n\n\n<p>Dans la section \u00ab\u00a0xdebug\u00a0\u00bb (Fin du fichier),<\/p>\n\n\n\n<p>Commenter toute la configuration XDebug (Les lignes par d\u00e9faut concernent l&rsquo;ancienne version 2 de XDebug)<\/p>\n\n\n\n<p>Ajouter \u00e0 la place les 2 configs de XDebug 3:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-small-font-size\">[xdebug]<br>;xdebug.default_enable=1<br>;xdebug.remote_enable=1<br>;xdebug.remote_handler=dbgp<br>;xdebug.remote_host=localhost<br>;xdebug.remote_port=9000<br>;xdebug.extended_info=1<br>;xdebug.remote_autostart=1<\/p>\n\n\n\n<p class=\"has-small-font-size\"><strong>xdebug.mode=debug<\/strong><br><strong>xdebug.start_with_request=yes<\/strong><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Votre Projet<\/h2>\n\n\n\n<p>Avec GitHub Desktop r\u00e9cup\u00e9rer les fichiers de votre d\u00e9p\u00f4t Git et d\u00e9posez les dans le dossier www du serveur Web<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"293\" src=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/dx92G2aXoQ-300x293.png\" alt=\"\" class=\"wp-image-236\" srcset=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/dx92G2aXoQ-300x293.png 300w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/dx92G2aXoQ.png 502w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Configuration VSCode<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ouvrer le dossier OGSpy ou tout autre projet que vous avez t\u00e9l\u00e9charg\u00e9.<\/li>\n\n\n\n<li>Si vous ne l&rsquo;avez pas encore, installez le Module PHP Extension Pack<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/XymCtLQqyi-1024x574.png\" alt=\"\" class=\"wp-image-240\" srcset=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/XymCtLQqyi-1024x574.png 1024w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/XymCtLQqyi-300x168.png 300w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/XymCtLQqyi-768x430.png 768w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/XymCtLQqyi.png 1094w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Configuration du Debugger PHP<\/h2>\n\n\n\n<p>S\u00e9lectionner le Debugger dans le menu vertical et choisissez le type de debugger \u00e0 executer.<\/p>\n\n\n\n<p>Dans notre cas ce sera : \u00ab\u00a0PHP: Listen for XDebug\u00a0\u00bb<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-243\" src=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/DsG1fWjQ6a-1024x521.png\" alt=\"\" width=\"660\" height=\"336\" srcset=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/DsG1fWjQ6a-1024x521.png 1024w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/DsG1fWjQ6a-300x153.png 300w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/DsG1fWjQ6a-768x391.png 768w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/DsG1fWjQ6a.png 1292w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/h2>\n\n\n\n<p>Cela va g\u00e9n\u00e9rer un fichier launch.json avec les param\u00e8tres suivant :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{\n    \/\/ Utilisez IntelliSense pour en savoir plus sur les attributs possibles.\n    \/\/ Pointez pour afficher la description des attributs existants.\n\n    \"version\": \"0.2.0\",\n    \"configurations\": [\n        \n        {\n            \"name\": \"Listen for Xdebug\",\n            \"type\": \"php\",\n            \"request\": \"launch\",\n            \"port\": 9003\n        }\n    ]\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Testez votre debugger<\/h2>\n\n\n\n<p>Lancez votre Debugger depuis un fichier avec F5<\/p>\n\n\n\n<p>Posez un point d&rsquo;arr\u00eat et parcourez votre site web pour l&rsquo;atteindre.<\/p>\n\n\n\n<p>Si tout va bien vous devrier vous arr\u00eater sur la ligne avec le Debugger et toutes les informations de vos variables :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/0wxQTRqZR8.png\" alt=\"\" class=\"wp-image-247\" width=\"873\" height=\"542\" srcset=\"https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/0wxQTRqZR8.png 1613w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/0wxQTRqZR8-300x186.png 300w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/0wxQTRqZR8-1024x635.png 1024w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/0wxQTRqZR8-768x477.png 768w, https:\/\/darkcity.fr\/blog\/wp-content\/uploads\/2022\/12\/0wxQTRqZR8-1536x953.png 1536w\" sizes=\"auto, (max-width: 873px) 100vw, 873px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Je n&rsquo;ai plus qu&rsquo;\u00e0 vous souhaiter une bonne session de Debug \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Autres liens<\/h2>\n\n\n\n<p><a href=\"https:\/\/code.visualstudio.com\/docs\/languages\/php#:~:text=To%20set%20the%20PHP%20executable%20path%2C%20select%20the,includes%20a%20set%20of%20common%20snippets%20for%20PHP.\">PHP Programming with Visual Studio Code<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nous allons aujourd&rsquo;hui cr\u00e9er un environnement de Dev PHP avec debugger. Pr\u00e9 requis Il faudra installer : Configuration Wnmp Vous avez ici le choix d&rsquo;utiliser la version de PHP pr\u00e9install\u00e9e, ou d&rsquo;utiliser vontre version de PHP. Si vous installez une version suppl\u00e9mentatio Installation PHP (Optionnel) T\u00e9l\u00e9charger une version VS16 x64 Non Thread Safe au format &hellip; <a href=\"https:\/\/darkcity.fr\/blog\/2022\/12\/03\/environnement-de-dev-php-avec-vs-code\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Environnement de Dev PHP avec VS Code<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,14],"tags":[],"class_list":["post-221","post","type-post","status-publish","format-standard","hentry","category-outils","category-tutoriels"],"_links":{"self":[{"href":"https:\/\/darkcity.fr\/blog\/wp-json\/wp\/v2\/posts\/221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/darkcity.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/darkcity.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/darkcity.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/darkcity.fr\/blog\/wp-json\/wp\/v2\/comments?post=221"}],"version-history":[{"count":20,"href":"https:\/\/darkcity.fr\/blog\/wp-json\/wp\/v2\/posts\/221\/revisions"}],"predecessor-version":[{"id":250,"href":"https:\/\/darkcity.fr\/blog\/wp-json\/wp\/v2\/posts\/221\/revisions\/250"}],"wp:attachment":[{"href":"https:\/\/darkcity.fr\/blog\/wp-json\/wp\/v2\/media?parent=221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/darkcity.fr\/blog\/wp-json\/wp\/v2\/categories?post=221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/darkcity.fr\/blog\/wp-json\/wp\/v2\/tags?post=221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}