3
décembre
2020
Configuration du poste de travail du développeur PHP
15:27

Configuration du poste de travail du développeur PHP

3 décembre 2020 15:27

L'article est consacré à la mise en place d'un serveur web, PDT dans Eclipse, Composer et TWIG. Mise à jour '2024 !

Installation d'un serveur web, PHP et MySQL

Sous Windows, la première chose à faire est de télécharger et d'installer la distribution prête à l'emploi du serveur Web XAMPP https://www.xampp.ru/, qui contient MariaDB (similaire au système de gestion de base de données MySQL) et PHP 7.3.6.
Sous Linux, vous pouvez installer Apache, MySQL et PHP (
sudo apt-get update
sudo apt-get install tasksel
sudo tasksel install lamp-server
), à la place du serveur web Apache2, vous pouvez utiliser le serveur web intégré à PHP (php -S localhost:8000).

Installation de l'IDE Eclipse et du kit PDT pour le développement PHP

Ensuite, sous Windows et Linux, téléchargez le fichier d'installation d'Eclipse IDE. Après être allé sur la page de téléchargement du package https://www.eclipse.org/downloads/packages/ vous devez télécharger la version « IDE Eclipse pour les développeurs Java et Web d'entreprise » pour Linux x86_64 (environ 528 Mo).

programme d'installation Web Eclipse
Nom du fichier :eclipse-jee-(номер версии)-linux-gtk-x86_64.tar.gz. После загрузки, необходимо открыть файл с расширением .tar.gz в Xarchiver и извлечь его в папку /home/(имя пользователя)/opt с полным путём. Например: /home/vladimir/opt.

extrait

Ou exécutez les commandes pour extraire Eclipse de l'archive dans le dossier ~/opt :

mkdir ~/opt
mkdir ~/eclipse-workspace
tar xf eclipse-jee-*-linux-gtk-x86_64.tar.gz -C ~/opt --warning=no-unknown-keyword

Avant de commencer l'installation d'Eclipse, assurez-vous de disposer d'au moins 2 Go d'espace libre sur votre disque dur.

Sous Windows, vous devez en outre installer un assembly Java gratuit dans le dossier jre.

Attention : Une machine virtuelle JRE téléchargée depuis Java.com ne fonctionnera pas. Besoin de télécharger à partir d'une autre source - Open JDK (https://jdk.java.net/15/- Windows x64).
Autrement dit, si l'environnement de développement Eclipse est installé dans le dossier C:\Eclipse, placez Java Open JDK dans le dossier C:\Eclipse\jre

Sous Linux, le fichier exécutable se trouve dans le dossier /home/(username)/opt/eclipse/
Pour lancer Eclipse, sous Linux, nous créons et enregistrons sur le bureau un fichier de raccourci Eclipse.desktop, avec le contenu :
[Desktop Entry]
Version=1.0
Type=Application
Name=Eclipse
Comment=
Exec=/home/user/opt/eclipse/eclipse
Icon=/home/user/opt/eclipse/icon.xpm
Path=/home/user/eclipse-workspace/
Terminal=false
StartupNotify=false

Ou créez un raccourci dans l'interface graphique : cliquez avec le bouton droit et sélectionnez "Créer une icône de lancement":
créer_shortcut
Options de définition d'un raccourci :
éclipse_shortcut
Image de l'icône : sélectionnez le fichier dans le dossier /home/username/opt/eclipse/icône.xpm.


Lancez Eclipse depuis le bureau :
Icône éclipse
Au premier lancement, nous confirmons le dossier de stockage des fichiers Eclipse-workspaces.

Pour pouvoir programmer en PHP, vous devez ajouter le support des langages dynamiques DLTK et des extensions pour la programmation en PHP (PHP Development Tools - PDT) au menu d'Eclipse :

  • "Aide" - "Installer un nouveau logiciel" - "Ajouter" - Nom : "DLTK 6.4" - Emplacement : "https://download.eclipse.org/technology/dltk/updates-dev/6.4/" - "Ajouter" - sélectionnez "Boîte à outils de langages dynamiques (DLTK)" - et terminez l'installation : "Suivant" - "Suivant" - "J'accepte les conditions..." - "Terminer".
  • Redémarrage de l'IDE Eclipse - "Redémarrer maintenant"
  • "Aide" - "Installer un nouveau logiciel" - "Ajouter" - Nom : "Mises à jour 8.2" - Emplacement : "https://download.eclipse.org/tools/pdt/updates/8.2/" - "Ajouter" - "Outils de développement PHP" - et terminez l'installation : "Suivant" - "Suivant" - "J'accepte les conditions..." - "Terminer".
  • Redémarrage de l'IDE Eclipse - "Redémarrer maintenant"

Nous terminons l'installation de PDT :"Aide"-"Marché Eclipse..." - dans le champ de texte "Trouver" entrer "PHP", dans le champ suivant :"Projet Éclipse" et Entrez(ou bouton "Allez").
sélection du composant outils php

Sélectionnez ensuite l'élément supérieur obligatoire :"Outils de développement PHP (PDT)", les cases restantes peuvent être décochées.
sélectionnez le composant PHP Development Tools (PDT)

Après avoir cliqué "Confirmer" il vous sera demandé d'accepter la licence Eclipse : - Sélectionnez l'élément souhaité -"J'accepte", "Terminer".
Consentement à la licence Eclipse - J'accepte, Terminer

Après avoir terminé l'installation de PDT, redémarrez Eclipse.

(Facultatif) installez un plugin utile pour le moteur de modèles Twig :

  • "Aide" - "Eclipse Marketplace..." - dans le champ de texte "Rechercher", saisissez "plugin twig" et entrez. -"Installer"- "Accepter" - "Terminer".

    [marque](Последнее обновление - январь 2024)[/marque]



Installation de Composer (pour une installation plus rapide des frameworks)

  1. Créez un répertoire d'installation du compositeur et supprimez les traces de l'installation précédente
    sudo rmdir /usr/local/bin/composer
    sudo mv ~/.composer ~/.composer.old

  2. Créez un dossier .composer dans le dossier utilisateur :
    mkdir ~/.composer

  3. Téléchargez le programme d'installation de Composer sur le site officiel
    https://getcomposer.org/installer-> le fichier est enregistré dans le dossier "Téléchargements".

  4. Renommez le fichier d'installation et préparez le lancement
    cd ~/Загрузки
    mv installer ~/composer-setup.php
    cd ..

  5. Commencez à installer et à mettre à jour Composer avec deux commandes :
    php composer-setup.php
    php composer.phar self-update


Créez le premier projet et le fichier PHP :

  • Créer un projet Fichier - Nouveau - Projet PHP
  • Nom du projet - test

    Création d'un nouveau projet PHP dans Eclipse à partir du menu Fichier -Nouveau - Projet PHP

dans le dossier /home/vladimir/workspace/test (remplacez par le vôtre)
Si l'arborescence du projet n'est pas visible, développez-la à l'aide de l'Explorateur de projets.

Fichier - Nouveau - Fichier PHP- insérez le texte de l'exemple ci-dessous. (Nom du fichier -index.php).
Nouveau fichier PHP

Configuration d'Eclipse

0..Thème sombre Eclipse- Fenêtre - Préférences - Général - Apparence - Activer le thème -Thème - Sombre- Appliquer et fermer.

  1. Spécifier l'emplacement PHP
    "Fenêtre" - "Préférences" - "PHP" - "PHP installés" - "Ajouter"
    Nom - PHP
    emplacement Chemin d'exécution -/usr/bin/php
    Bouton "Terminer".
    indication du php installé

Les paramètres suivants ne sont pas précis et sont sujets à révision.

  1. Spécifiez le serveur Web intégré du package php
    "Fenêtre" - "Préférences" - "PHP" - "Serveurs"
    Supprimer par défaut
    Ajouter
    Nom du serveur- n'importe lequel, par exemple "hôte local : 8000"
    URL de base- http://localhost:8000
    Racine du document - /home/vladimir/workspace(remplacez par le vôtre)

Notez que j'ai décidé de fonctionner sur le port 8000, j'ai donc spécifié la valeur "http://localhost:8000".
serveur Web intégré
Bouton ci-dessous Suivant
Débogueur - Aucun
Bouton ci-dessous Suivant
Cartographie du chemin
*Ajouter

  • Chemin sur le serveur -/test
  • Chemin dans l'espace de travail -tester
  1. Lancement du serveur web php -S sur le port 8000 et root directory, dans ce cas /accueil/vladimir/espace de travail

[marque]cd ~/workspace[/marque]
[marque]php -S localhost:8000[/marque]

où ~/workspace est le chemin d'accès au dossier des projets php que vous devez remplacer par le vôtre.

!!Attention! si vous oubliez d'exécuter la commande cd ~/workspace (qui dans ce cas est "Document root"), alors lors de l'exécution de php -S, il y aura une erreur 404 :

404

!!Explication : le dossier du projet doit être un sous-répertoire du dossier "Racine du document". Si le projet est stocké dans un sous-dossier d'un autre dossier autre que « espace de travail », corrigez le champ "Racine du document". Par exemple, dans l'exemple ci-dessous, le dossier des projets s'appelle « eclipse-workspace ».

serveur - racine du document

le résultat de l'exécution dans le terminal devrait être le suivant :
"[Lun 17 avril 16:59:14 2023] Le serveur de développement PHP 8.1.2-1ubuntu2.11 (http://localhost:8000) a démarré"

  1. Fenêtre - Préférences - PHP - Serveurs
    Modifiez comme suit :

Le premier onglet - nous indiquons que la racine du document est la même que pour php -S, à savoir
/home/vladimir/workspace (remplacer par le chemin d'accès au dossier des projets)
ensemble1

Le troisième onglet "Mappages de ports" : on ne le configure pas !
Enregistrez le paramètre et quittez.

  1. Dans le panneau Eclipse, cliquez sur la flèche vers le bas à côté de l'icône de lancement verte "Exécuter" - "Exécuter les configurations...".
    Ce paramètre est destiné à spécifier le fichier php de démarrage « par défaut » lors de l'exécution de « Exécuter ».

Sélectionnez le serveur configuré dans le paragraphe précédent.

Dans le projet, sélectionnez votreprincipal fichier PHP à exécuter, bouton "Parcourir".
fichier_sélectionné

La case "Générer automatiquement" doit être cochée.
génération automatique

Appliquer
cliquez Courir(pas Fermer !)

Si le serveur Web fonctionne sur le port 8000, le serveur Web fonctionnera et la page sera affichée.
Si une page créée à la hâte était lancée <?php echo "Hello, world!";

Bonjour le monde!

ou, lors de l'exécution du fichier index.php avec un modèle de brindille (affiché à la fin de l'article) :

résultat

Si la page n'apparaît pas, recherchez les erreurs dans la fenêtre du terminal dans laquelle php -S est exécuté.

Erreurs possibles

Avertissement PHP : Inconnu : Échec de l'ouverture du flux : Aucun fichier ou répertoire de ce type dans Inconnu à la ligne 0 Erreur fatale PHP : Échec de l'ouverture requise
Solution : supprimez le serveur de mappage de chemin des paramètres.

[::1]:45720 [500] : GET /test/index.php - Sans parenthèses a ? b : c ? d : e is not supported. Use either (a ? b : c) ? d : e or a ? b : (c ? d : e) dans /home/vladimir/workspace/test/vendor/twig/twig/lib/Twig/Node.php à la ligne 42

Solution :mettre à jour le compositeur 1 avant la version 2.5.5 et Twig v2.4.8 avant la version v2.15.4, qui sont compatibles avec PHP 8.1.2 :

cd ~/workspace
sudo composer self-update --2
composer require "twig/twig:^2.0" 

À l'avenir, nous lançons index.php pour le visualiser en cliquant sur le bouton vert « Exécuter ».

Configuration du débogage de code dans Eclipse à l'aide de XDebug

1) Installez le package xdebug à partir de la ligne de commande

sudo apt-get install php-xdebug

2) Découvrez où se trouve le fichier php.ini :

<?php phpinfo();

3) Allez dans le dossier (qui est affiché dans le paragraphe précédent)

cd /etc/php/8.1/cli/conf.d

il devrait y avoir un lien symbolique dans le dossier conf.d 20-xdebug.ini par fichier
xdebug1

Sinon, créez-le (le chemin du dossier est affiché par la fonction echo php_info() :
sudo ln -s /etc/php/8.1/mods-available/xdebug.ini 20-xdebug.ini

Ainsi, pour configurer xdebug vous devez éditer le fichier avec la commande nano /etc/php/8.1/cli/conf.d/20-xdebug.ini, mais le fichier /etc/php/8.1/mods-available/xdebug.ini est en fait édité.

4) Ouvrir pour édition 20-xdebug.ini

sudo nano 20-xdebug.ini

5) Ajoutez le texte suivant au fichier 20-xdebug.ini :

zend_extension=xdebug
xdebug.mode = debug
xdebug.start_with_request=yes

ДопSortie datée du 15 juin 2023. Version étendue du fichier 20-xdebug.ini (xdebug.ini) :

zend_extension=xdebug
;zend_extension=xdebug.so
;zend_extension=/usr/lib/php/20210902/xdebug.so
xdebug.mode=débogage
;xdebug.remote_enable=1
xdebug.idekey="codeliteide"
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.client_port=9000
xdebug.start_with_request = oui
xdebug.discover_client_host=1

Remarque : si après avoir exécuté le serveur Web php -S localhost:8000 le message Cannot load Xdebug - it was déjà chargé s'affiche - ignorez l'avertissement.

Remarque n°2 : Si l'exécution ne s'arrête pas pendant le débogage et dépasse le point d'arrêt, comme dans le cas de "Exécuter", vérifiez le fichier "/etc/php/8.1/mods-available/xdebug.ini" - il doit contenir la ligne zend_extension=xdebug ou zend_extension=xdebug.so , car sans cela, le débogage ne fonctionnera pas.

(Ajout : pour désactiver le débogage xdebug, vous devez supprimer ces lignes (ou commenter) et écrire le texte suivant dans le fichier /etc/php/8.1/mods-available/xdebug.ini :xdebug.mode = none)

6) Dans l'environnement de développement Éclipse ajoutez le texte suivant au fichier index.php :

<?php echo xdebug_info();

7) Dans les paramètres Fenêtre - Préférences - PHP - Débogage cliquez sur la ligne Xdebug- bouton "Configurer"
Eclipse Xdebug Configurer

8) Corrigez le port de 9000 à 9003.
XDebug Configurer le port 900

9) Postuler - Postuler et fermer

10) Activez la perspective « Debug » :

Fenêtre - Perspective - Débogage

(Ou cliquez sur le bouton correspondant dans la partie supérieure droite de l'écran).

11) Dans le menu "Exécuter", cochez l'élément "Configurations de débogage..." dont les paramètres du premier onglet "Serveur" coïncident avec "Exécuter les configurations...".
Voici un fichier PHP pour le débogage, qui s'ouvrira dans le navigateur après avoir exécuté "Debug".

Vous pouvez également modifier les paramètres du débogueur dans les "Paramètres globaux".

  • Exécuter - Configurations de débogage - Débogueur - Configurer - Paramètres globaux - Port de débogage.

На Dans le deuxième onglet "Débogueur", XDebug doit être sélectionné, le port 9003 doit être spécifié. Ce qui a été spécifié ci-dessus dans le fichier ini 20-xdebug.ini.

Si le programme se plaint que le port 9003 est occupé "Le port est déjà utilisé. Veuillez sélectionner un autre port pour le débogueur dans la configuration du serveur PHP correspondant (localhost:8000)",
vous devez compléter php -S et fermer Eclipse. Ensuite, dans le terminal, accédez au dossier cd workspace et exécutez php -S localhost:8000 et exécutez Eclipse, dans lequel répétez Run - Debug (F11).

11) Démarrer le débogage dans le menu "Exécuter - Déboguer".

Puisque nous avons précédemment ajouté la fonction echo xdebug_info() au texte source au paragraphe 6 ;
les informations sur Xdebug doivent être affichées avec l'élément activé Étape de débogage.

12) Nous essayons de définir un point d'arrêt et de redémarrer l'application en cliquant sur le bouton « arrêter », puis de lancer le débogage à l'aide de l'élément de menu "Exécuter" - "Débogage (F11)". Le débogage s'arrêtera au point d'arrêt. Appuyez sur la touche F6("Enjamber")**. Le navigateur Web affichera le résultat :
résultat echo xdebug_info();

Raccourcis clavier de base pour le débogage (Débogage) :
F11- Debug (démarrer le débogage)
F5- Entrez (entrez une méthode ou une fonction)
F6- Step over (exécuter une méthode ou une fonction sans entrer dans un sous-programme)
F7- Retour pas à pas (méthode de sortie, fonction)
Ctrl+F11 exécuter (exécuter sans débogage)
Ctrl+F2 terminer

Ajout du 13/06/2023 : pour exécuter le projet sans débogage - Exécuter - Exécuter (Ctrl+F11).
Pour qu'à chaque démarrage, cela ne s'arrête pas à la première ligne, en
Fenêtre - Préférences - Débogage -Pause en première ligne décochez la case. Voir photo ci-dessous

Coupure à la première ligne - OFF

Astuce : pour afficher des informations sur la version installée de l'extension xdebug, exécutez une page avec du code PHP à l'aide d'un serveur web en mode Run ou Debug :echo xdebug_info();


Fichier de test index.php pour le moteur de template Twig

<?php
require_once './vendor/autoload.php';

$loader = nouveau Twig_Loader_Filesystem ( './templates' );

$twig = nouveau Twig_Environment ( $loader, tableau (
'cache' => './cache',
'auto_reload' => 'vrai',
'débogage' => vrai
) );

$twig->addExtension ( new Twig_Extension_Debug () );

$données = tableau (
'username1' => 'Petya',
'nom d'utilisateur2' => 'Vova'
);

$mas = [
'1-carotte',
'2-coriandre',
'3-concombres',
'4-citrouille',
'5-raifort'
];

echo $twig->render ( 'index.html', tableau (
'name' => 'Vodia',
'visite' => '01/07/2018',
'données' => $données,
'mas' => $mas
) );

?>

Modèle

morceau de modèle

Projet de test 2020 pour Eclipse 2020-09 :

(y compris le fichier php et le modèle twig (pour Composer 1.0 et Twig 2.4) :
test.zip

Projet de test 2023 pour Eclipse 2023-03 :

(y compris le fichier php et le modèle twig (pour Composer 2.0 et Twig 2.15) :
test2023.zip