L'utilisation d'un IDE facilite le développement d'applications (coloration syntaxique, auto-complétion de code, etc .. ) et associé à Xdebug, cela permet de faire du débogage de façon aisée et efficace.
Quelques exemples :
Mise en place de points d'arrêts
Visualisation de la valeur des variables
Exécution du script " pas à pas
Profilage (mesure de performance des scripts ).
Avec quel logiciel ?
C'est avant tout une histoire de goût. Il en existe deux principaux :
Eclipse : https://www.eclipse.org/downloads/
Les deux sont multiplate-forme et s'appuient sur un environnement Java pour fonctionner.
L'IDE va s'appuyer à la fois sur les sources PHP (issue du dépôt Git) mais également sur un serveur de développement sur lequel va s’exécuter le code. Ce serveur de développement pourra s'exécuter sur une machine virtuelle y compris sur un hôte différent que celui qui exécute l'IDE.
Au moment de sa première exécution, l'IDE va proposer :
de créer un nouveau projet
d'en ouvrir un existant
d'en importer d'une ancienne version
Au moment de sa première exécution, Netbeans va proposer de créer un nouveau projet
Configuration du projet
Interaction avec le serveur de développement Se4
Il s'agit d'indiquer la manière dont Netbeans va communiquer avec le serveur de développement.
A ce stade il est indispensable, de configurer la liaison avec le serveur de développement. (bouton Manage)
Configuration de la connexion ssh avec le Se4
Il s'agit de renseigner les éléments utiles afin que la machine hébergeant les sources puisse envoyer les fichiers modifiés vers le serveur de développement.
Activation du débogage en direct
En plus de l'activation de Xdebug via l'interface, il vous faudra également déclarer l'adresse IP de la machine hébergeant Neatbeans dans le fichier de configuration de Xdebug sirtué quant à lui sur le Se4 de développement.
Il s'agit de la ligne xdebug.remote_host
Voici pour exemple le contenu du mien. Il est sans doute possible de le simplifier.
dim. nov. 03 23:47:04 root@se4fs.:
~# cat /etc/php/7.0/fpm/conf.d/20-xdebug.ini
zend_extension=xdebug.so
[debug]; Remote settingsxdebug.remote_autostart=off
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=10.127.164.5
xdebug.remote_port=9000
; General
xdebug.auto_trace=off
xdebug.collect_includes=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.default_enable=on
xdebug.extended_info=1
xdebug.manual_url=http://www.php.net
xdebug.show_local_vars=1
xdebug.show_mem_delta=1
xdebug.max_nesting_level=100
;xdebug.idekey=
; Trace optionsxdebug.trace_format=1
xdebug.trace_output_dir=/var/www/sambaedu/debug
xdebug.trace_options=1xdebug.trace_output_name=trace
; Profiling
xdebug.profiler_append=1
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir=/var/www/sambaedu/debug
xdebug.profiler_output_name=cachegrind.out
xdebug.show_error_trace = 1
xdebug.collect_params = 3
Maintenant que tout est en place, On peut lancer le débogage.
Configuration du projet
Ce qui est énorme
Avec la souris, survolez une variable simple dans le script ($login par exemple) et vous voyez sa valeur dans une "bulle".
Pour les variables plus complexes (indexées par exemple) ou les fonctions , il faut les surligner et placer le curseur dessus.
Clic droit sur une variable ou une fonction localise son utilisation ou sa déclaration dans tous les scripts du projet.
Dans le menu Versionning ->Local history, on peut voir toutes les versions enregistrées du fichier, ainsi que les diffs. Et bien sûr revenir à une version antérieure !