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.
É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
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
/* @var $variable_name ClassName */
Pour pouvoir utiliser les fonctionnalités de debug d'eclipse PDT, il faut :
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
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
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é
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.
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 :
#!/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
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
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]