Eclipse PDT

Le développement d'application freedom peut-être accéléré par l'utilisation de l'éditeur eclipse PDT. Cet éditeur est une adaptation d'eclipse pour le développement d'application en PHP et il apporte un ensemble de fonctionnalités permettant de rendre le code plus facile à écrire et plus sûr.

Eclipse PDT

Eclipse PDT : paramétrages spécifiques à freedom

Mise en place de la reconnaissance des types de fichiers :

Édition des info.xml.in en tant que xml:
aller dans prefs > general > editors > file associations
add info.xml.in dans file types (on pourra plus tard mettre *.xml.in, mais pour le moment, il traite pas correctement le sur les double extensions)
add xml dans associated editors
puis prefs > general > editors > content types
add info.xml.in à la rubrique xml

Mise en place de l'autocomplétion :

complétion des classes freedom à partir des freedom installés : adapter le fichier joint à votre conf (voir le fichier freedomlib.xml et modifier les UPDATEME pour l'adapter à votre configuration)
aller dans prefs > php > php libraries
importer le fichier corrigé ca rend les librairies disponibles

Ensuite, sur vos projets, clic droit sur le projet > propriétés
PHP include path > libraries > add libraries et vous allez chercher ce qui vous intéresse
cela permet ensuite de ctrl clic sur un nom de classe par exemple, et d'arriver à sa définition, etc.

accélérer l'auto complétion:
restreindre le build path autant que possible: sur vos projets, clic droit sur le projet > propriétés > build path

Activer l'autocompletion pour n'importe quelle variable

/* @var $variable_name ClassName */

Eclipse PDT : activation des fonctions de debug

Pour pouvoir utiliser les fonctionnalités de debug d'eclipse PDT, il faut :

installer XDebug :

installer le paquet php5-xdebug
éditer le fichier de configuration /etc/php5/apache2/conf.d/xdebug.ini pour y ajouter les lignes :

  xdebug.remote_enable=On
  xdebug.remote_host="localhost"
  xdebug.remote_port=9000
  xdebug.remote_handler="dbgp"

relancer le serveur apache
Vous pouvez vérifier l'activation de XDebug via un phpinfo, un onglet XDebug devrait être présent

Configurer l'environnement de debug sous eclipse :

Dans le menu d'eclipse : Windows → preferences → php → debug, ajouter un php executable avec les éléments suivants :

Executable Path =  /usr/bin/php
Php ini = /etc/php5/apache2/php.ini
Sapi type = cli
php debugger = xdebug

revenir dans le section debug et modifier :

php debugger : XDebug
Break at first line : décoché

ensuite dans installed debugger, cliquer sur XDebug et configure puis régler les éléments suivants :

Accepted Remote Session : localhost

installer l'extension firefox easyxdebug

Le code PHP produit par freedom est généré lors de l'importation vous ne pouvez pas directement mettre des points d'arrêt dans votre code PHP.
Vous devez utiliser l'instruction xdebug_break();, cette instruction ne sera prise en compte lorsque la session de debug sera activée.

Pour activer à distance la session de debug, il faut installer l'extension firefox easy Xdebug.
L'extension ajoute en bas à droite un petit bug vert, lorsqu'une flèche verte est au-dessus Xdebug n'est pas activé, lorsqu'un sens interdit est au-dessus il est activé

intégrer les fichiers de freedom déployé sur le serveur apache en tant que projet eclipse:

la dernière étape consiste à intégrer les fichiers déployés sur le serveur apache dans eclipse pour permettre à celui-ci d'afficher le contexte du debug,
pour cela il suffit de donner temporairement les droits d'écriture à eclipse et d'intégrer le répertoire dans un nouveau projet php eclipse.

Pensez à actualiser le projet contenant le contexte à debugger

Sources :

Eclipse PDT : générer et publier directement dans eclipse PDT (uniquement sous linux)

Lors de la construction de votre application, il est pratique de pouvoir générer et publier directement votre paquet dans Eclipse.

Pour cela, vous pouvez utiliser la fonctionnalité external tools qui permet d'appeler un script. Le script suivant :

generer_publier.sh
#!/bin/bash
# 0.1
 
 
nom_rep=`basename "$1"`
 
if [ -d "$1" ]; then
{
	rep_temp="$(mktemp -d)"
 
	`cp -R "$1"/* "$rep_temp"`
 
	cd $rep_temp
 
	autoconf;
	./configure;
	make webinst
 
	if [ -d "$5" ]; then
	{
		`cp -f $rep_temp/*.webinst "$5"`
	}
	else
	{
		`cp -f $rep_temp/*.webinst  /tmp/`
	}
	fi
	rm -rf $rep_temp
 
	cd $HOME
	for var in $2; do
		gksudo '/var/www/freedom/dynacase-control/wiff context '$3' module '$4' --force '$var 
	done
}
else
{
	echo "usage : creation_webinst path_of_the_project path_to_web_inst (de la forme /path/*.webinst) nom_du_context nom_du_module path_to_copy_webinst (by default to /tmp/)"
}
fi

permet de lancer la génération d'un webinst et sa publication sur une machine linux ayant freedom d'installé en local

Mise en place de quelques extensions utiles :

Pour les catalogues (internationalisation), il faut installer le plugins gted gted
Pour git, il faut installer le plugins egit egit

Pour ouvrir un élément directement dans nautilus OpenExtern

Remote PHP debugging with Eclipse PDT

Dans le cas d'un serveur distant, et pour lequel on a pas l'arborescence du site Web en local, il est quand même possible d'utiliser Xdebug et Eclipse PDT pour debugguer l'application distante à partir de son poste local.

[TODO]

contribution/dev/tooltips/eclipsepdt.txt · Dernière modification: 27/09/2010 12:03 par nicolas.thing