Php:ide:eclipse

De Les Tutoriaux du WebMestre
Aller à : navigation, rechercher

L'aide du PDT

Pour le noyau:

jpmena@jpmena-P34 ~ $ cd .local/share/applications/
jpmena@jpmena-P34 ~/.local/share/applications $ cat php-eclipse.desktop 
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=PHP Eclipse
Icon=/home/jpmena/Ateliers/phpeclipse/icon.xpm
Path=/home/jpmena/Ateliers/phpeclipse
Exec=/home/jpmena/Ateliers/phpeclipse/eclipse
StartupNotify=false
MimeType=application/vnd.android-workbench-model;
Categories=GTK;PHP;Development;
OnlyShowIn=Unity;
X-UnityGenerated=true

Dévelopement PHP basé sur Symfony

Procédure

  • sur votre Eclipse PDT lancé allez sur Help / Eclipse Market Place
  • sur la fenêtre créée:
    • dans la barre du bas, laissez sélectionné le MarketPlace Officiel d'Eclipse
      • Il s'agit du premier icone à gauche celui d'Eclipse
    • sur la barre du haut, vérifiez que l'onglet Search est sélectionné
      • entrez alors symfony dans le champs de recherche
      • l'extension Symfony pour Eclipse devrait apparaître en premier dans les résultats
      • la sélectionnez et suivre la procédure d'installation
        • en acceptant la licence
        • en cliquant chaque fois sur OK

Autre modules du MarketPlace qui peuvent être utiles

  • de la même façon j'ai installé
    • ShellEd pour coloriser/autocompléter les fichiers Bash/Shell directement depuis son Eclipse
    • Subversive pour travailler depuis les dépôts SVN du travail via Eclipse et profiter notamment
      • de la grande capacité de comparaison graphique de version de Eclipse...

Ce qui est au final installé

 1 jpmena@jpmena-P34 ~/Ateliers/phpeclipse $ ls -ltr plugins/ | tail -15
 2 -rw-rw-r-- 1 jpmena jpmena    16332 mars   4 17:36 org.json.simple_0.0.1.SNAPSHOT.jar
 3 -rw-rw-r-- 1 jpmena jpmena    74305 mars   4 17:36 org.pdtextensions.core_0.22.2.201609281427.jar
 4 -rw-rw-r-- 1 jpmena jpmena  1168475 mars   4 17:36 org.apache.lucene.core_2.9.1.v201101211721.jar
 5 -rw-rw-r-- 1 jpmena jpmena   147108 mars   4 17:36 org.pdtextensions.core.ui_0.22.2.201609281427.jar
 6 -rw-rw-r-- 1 jpmena jpmena    33639 mars   4 17:36 org.pdtextensions.repos_0.22.2.201609281427.jar
 7 -rw-rw-r-- 1 jpmena jpmena     3028 mars   4 17:36 org.pdtextensions.repos.ui_0.22.2.201609281427.jar
 8 -rw-rw-r-- 1 jpmena jpmena    84586 mars   4 17:36 org.pdtextensions.semanticanalysis_0.22.2.201609281427.jar
 9 -rw-rw-r-- 1 jpmena jpmena   537320 mars   4 17:36 org.dadacoalition.yedit_1.0.20.201509041456-RELEASE.jar
10 -rw-rw-r-- 1 jpmena jpmena   112804 mars   4 17:36 org.pdtextensions.semanticanalysis.ui_0.22.2.201609281427.jar
11 -rw-rw-r-- 1 jpmena jpmena    42285 mars   4 17:36 org.pdtextensions.server.ui_0.22.2.201609281427.jar
12 -rw-rw-r-- 1 jpmena jpmena    43023 mars   4 17:36 org.pdtextensions.server_0.22.2.201609281427.jar
13 -rw-rw-r-- 1 jpmena jpmena   273449 mars   4 17:36 org.yaml.snakeyaml_1.13.0.jar
14 -rw-rw-r-- 1 jpmena jpmena  8313747 mars   4 17:36 com.dubture.symfony.core_1.3.0.201610140650.jar
15 -rw-rw-r-- 1 jpmena jpmena   214584 mars   4 17:36 org.antlr.runtime_3.2.0.v201101311130.jar
16 -rw-rw-r-- 1 jpmena jpmena  1311109 mars   4 17:36 org.h2_1.3.168.v201212121212.jar

Ce qui me plaît

  • La gestion graphique de Git est parfaite, la comparaison entre branche et version excellente !!!
    • on retourve pour préparer une fusion tout ce que l'on pouvait faire avec le Eclipse SVN du travail
  • Et bien d'autres ...
  • Lors de l'édition d'un fichier css/scss, clic droit sur une notation RVB ouvre un colorPicker
  • La version NEON/Linux 64Bits de Eclipse pour PHP Developpers vien avec PyDev déjà installé
    • Développements Python et PHP via le même Atelier !!!

Configuration de mon environnement PHP

Au niveau du Workspace

Ajouter son / ses exécutables php

  • Je m'appuie sur l'ancienne documentation PDT
  • aller sur Windows / Preferences
  • sur le côté ouvrir PHP / Installed PHPs
  • fenêtre droite, cliquer sur le bouton Add
    • Aller chercher le chemin de son exécutable PHP, dans mon cas: /usr/bin/php !
    • Il propose un nom par défaut, dans mon cas PHP 7.0.22 (CLI) et un SAPI Type dans mon cas CLI! Je laisse ces choix
  • Je clique sur Finish puis, fenêtre suivante, sur OK
  • TODO / comment créer un environnement de développement PHP Serveur

Au niveau de mon projet en particulier

  • TODO / Sélectionner PHP Faccet un niveau et voir l'onglet Runtime associé !!!!

Enlever le rouge (erreurs) au niveau de mon projet

Le Include Path

Trouver les définitions manquantes

  • Pour trouver quel fichier définit la classe en question (qui est marquée comme non trouvée), le lien [1] nous propose:
jpmena@jpmena-HP-ProDesk-600-G2-MT ~/RIF/d8devextranet $ find web/core -name \*.php | xargs grep "class Analyzer"
web/core/modules/views/src/Analyzer.php:class Analyzer {
  • Eclipse PDT nous propose le Menu Search:
    • Search / PHP
    • Search String, taper Analyzer
    • Search for, sélectionner Type
    • Limit to, sélectionner Declarations
    • Scope, sélectionner Selected resources
  • Cliquer sur Search

Passage en Mode DEBUG XDebug

prérequis

  • XDebug installé sur votre LAMP comme expliqué sur la partie LAMP du WIKI
  • Il y a une explication de 2014 sur WIKI de Eclipse
  • Eclipse supporte mal le XDEBug client en même temps ....
    • evitez de setter la variable d'environnement XDEBUG_CONFIG
    • Dans mon cas je commente l'export de cette variable dans ma session Linux:
jpmena@jpmena-HP-ProDesk-600-G2-MT ~ $ cat .other_env 
#set the phpcli xdebug configuration 
## as proposed at : https://confluence.jetbrains.com/display/PhpStorm/Debugging+PHP+CLI+scripts+with+PhpStorm
#export XDEBUG_CONFIG="remote_enable=1 remote_mode=req remote_port=8000 remote_host=127.0.0.1 remote_connect_back=0"
  • Ce fichier .other_env est appelé à l'initialisation via le .bashrc:
jpmena@jpmena-HP-ProDesk-600-G2-MT ~ $ tail -20 .bashrc | head -3
if [ -f ~/.other_env ]; then
    source ~/.other_env
fi

Actions

  • Menu Eclipse, Allez sur Run / Debug configurations
  • Sur la partie Gauche double cliquez sur PHP Web Application
  • Celà crée une nouvelle configuration PHP/Web nommée New configuration
  • la sélectionner
  • Sur la partie centrale,
    • au niveau du Name, remplacez new Configuration par un nom plus parlant
    • PHP Server: crééz en un nouveau ou cliquez directement sur Configure...
      • Changer le Base URL pour l'URL de votre serveur Virtuel (dans mon cas http://jpmena.and)
    • File: naviguez vers le fichier racine de votre site Web,
      • dans le cas de Symfony V3, il s'agira de web/app.php ou de web/app_dev.php
      • En général il s'agit du index.php à la racine de votre site !
  • Cliquez sur Apply puis sur OK

Débugguer un script php client

Divers

Importer depuis SVN vers un répertoire non racine

  • Aller dans la perspective SVN et sélectionnez le dépôt distant SVN dpuis lequel vous voulez importer vos sources
    • Branche / Tag etc ...
    • Faites un clic droit puis sélectionnez Find/Checkout as ...
      • Ne sélectionnez donc pas Checkout
  • Fenêtre Checkout as
    • Bien sélectionner le radiobutton : Checkout as a folder into an existing project
    • Cliquer sur Next
    • Fenêtre Checkout into project sélectionnez le répertoire destination de vos source SVN dans le Workspace Eclipse actuel
    • Cliquez sur Finish
  • Il ne vous reste plus après que de Faire un projet d'un sous-répertoire
    • cf. paragraphe ci dessous

Faire un projet d'un sous-répertoire

  • File / Import
    • General / Projects Frome Folder Or Archive
    • On retrouve alors le lien à SVN du code source