TUTO
NetBeans
Environnement de développement et de test
 Configuration de NetBeans pour PHP Nicolas Defaÿ
N.D oct.-16 /TU...
TUTO
NetBeans
Environnement de développement et de test
 Configuration de NetBeans pour PHP Nicolas Defaÿ
N.D oct.-16 /TU...
TUTO
NetBeans
Environnement de développement et de test
 Configuration de NetBeans pour PHP Nicolas Defaÿ
N.D oct.-16 /TU...
TUTO
NetBeans
Environnement de développement et de test
 Configuration de NetBeans pour PHP Nicolas Defaÿ
N.D oct.-16 /TU...
TUTO
NetBeans
Environnement de développement et de test
 Configuration de NetBeans pour PHP Nicolas Defaÿ
N.D oct.-16 /TU...
TUTO
NetBeans
Environnement de développement et de test
 Configuration de NetBeans pour PHP Nicolas Defaÿ
N.D oct.-16 /TU...
TUTO
NetBeans
Environnement de développement et de test
 Configuration de NetBeans pour PHP Nicolas Defaÿ
N.D oct.-16 /TU...
Prochain SlideShare
Chargement dans…5
×

Optimiser son environnement de développement PHP (Tuto NetBeans v4.4)

157 vues

Publié le

Configurer son environnement de développement (EDI) NetBeans pour mieux coder en PHP : Débogage (XDebug) et tests unitaires automatisés (PHPUnit).

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
157
Sur SlideShare
0
Issues des intégrations
0
Intégrations
0
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Optimiser son environnement de développement PHP (Tuto NetBeans v4.4)

  1. 1. TUTO NetBeans Environnement de développement et de test  Configuration de NetBeans pour PHP Nicolas Defaÿ N.D oct.-16 /TUTO NetBeans v4.4.docx/ Page 1 sur 7 Ce tutoriel vous indique comment configurer NetBeans pour PHP sous Windows avec : - L’extension Xdebug - Le framework de tests unitaires PHPUnit 4.8 NetBeans est un EDI (Environnement de Développement Intégré ou IDE en anglais pour Integrated Development Environment) open source développé à l'origine par Sun Microsystems mais repris depuis 2010 par Oracle Corporation. Ce type d'environnement regroupe un ensemble d'outils dédiés au développement de logiciels. NetBeans supporte les langages Java, PHP, C/C++, Fortran, JavaScript, Python, Ruby… Site officiel : https://netbeans.org/ 1. L’extension Xdebug 1.1 Présentation Xdebug est une extension pour PHP qui permet le débogage et le profilage de code par une exécution pas à pas des instructions. Exemple d'exécution d'un script sans et avec Xdebug activé : Script : test_xdebug.php <?php for ($x = 1; $x < 3 ; $x++) { // Pour l'exécution pas à pas ;) } echo $x; echo $y; ?> Sans Xdebug Avec Xdebug Ces installations concernent la version 8.0 de NetBeans. Elles ont été réalisées sous Windows 7 Professionnel 64 bits avec WAMP Server 2.5 64 bits (Apache 2.4.9 et PHP 5.5.12). Aucun gestionnaire de paquets (type Composer) n’est requis dans ce tutoriel. La connaissance de ces environnements est nécessaire pour suivre ce tutoriel (création et paramétrage d’un projet sous NetBeans, ligne de commande sous Windows, modification des fichiers de configuration de WAMPServer, notions de tests unitaires).
  2. 2. TUTO NetBeans Environnement de développement et de test  Configuration de NetBeans pour PHP Nicolas Defaÿ N.D oct.-16 /TUTO NetBeans v4.4.docx/ Page 2 sur 7 1.2 Configuration Xdebug est déjà préconfiguré avec cette version de WampServer. Il suffit donc de « l’activer » en modifiant son paramétrage. Site officiel : http://xdebug.org/ 1.2.1 Activation  Vérifier que vous ayez bien le fichier php_xdebug-2.2.5-5.5-vc11-x86_64.dll dans le dossier C:wampbinphpphp5.5.12zend_ext  Ouvrir le fichier php.ini depuis l'application WampServer et ajouter (ou modifier) la ligne qui apparait ci-dessous en vert à la fin du fichier : ; XDEBUG Extension zend_extension = "c:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11- x86_64.dll" [xdebug] xdebug.remote_enable = off xdebug.profiler_enable = off xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = "c:/wamp/tmp" xdebug.show_local_vars = on  Sauvegarder et fermer le fichier php.ini puis redémarrer le service Apache pour une prise en compte des nouveaux paramètres.  Vérifier, en actualisant la page test_xdebug.php, que vous obtenez bien le résultat attendu dans le paragraphe 1.1. 1.2.2 Intégration à NetBeans  Modifier et ajouter les lignes qui apparaissent en vert dans la section Xdebug du fichier php.ini : ; XDEBUG Extension zend_extension = "c:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11- x86_64.dll" [xdebug] xdebug.remote_enable = on xdebug.remote_handler = dbgp xdebug.remote_host = localhost xdebug.remote_port = 9000 xdebug.profiler_enable = off xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = "c:/wamp/tmp" xdebug.show_local_vars = on  Sauvegarder et fermer le fichier php.ini puis redémarrer le service Apache pour une prise en compte des nouveaux paramètres.
  3. 3. TUTO NetBeans Environnement de développement et de test  Configuration de NetBeans pour PHP Nicolas Defaÿ N.D oct.-16 /TUTO NetBeans v4.4.docx/ Page 3 sur 7 1.3 Mise en œuvre  Ouvrir NetBeans et lancer l'exécution du script (cf. §1.1) en mode débogage : (ou <Ctrl> + <> + F5). Cette option est également disponible à partir d'un clic droit sur le script à tester.  La barre des outils dédiée au débogage est activée :  Après deux clics sur l'icône on obtient la trace suivante : 2. Le framework PHPUnit 2.1 Présentation PHPUnit est un framework de tests unitaires développé pour le langage PHP. Il est basé sur JUnit, une référence en termes de tests unitaires pour Java. Il propose également un générateur de squelettes de classes destinées aux tests (Skeleton generator). Site officiel : http://phpunit.de/ Notes : À ce jour la dernière version de PHPUnit est la 5.6. Nous utiliserons ici l’avant dernière version stable : la version 4.8.27 de PHPUnit. Cette version est compatible jusqu’à PHP 5.6. 2.2 Installation  Depuis https://phar.phpunit.de/ télécharger le fichier phpunit-4.8.27.phar dans C:wampbinphpphp5.5.12  Dans C:wampbinphpphp5.5.12 créer un fichier phpunit.bat au contenu suivant : @php "%~dp0phpunit-4.8.27.phar" %*  Dans C:wampbinphpphp5.5.12 créer un fichier phpunit_netbeans.bat au contenu suivant (gestion du bug d’incompatibilité entre les versions utilisées de NetBeans et PHPUnit) : phpunit %1 %2 %3 %4 "--" %5=%6  Depuis https://phar.phpunit.de/ télécharger le fichier phpunit-skelgen-2.0.1.phar dans C:wampbinphpphp5.5.12  Dans C:wampbinphpphp5.5.12 créer le fichier phpunit-skelgen.bat suivant : @php "%~dp0phpunit-skelgen-2.0.1.phar" generate-test %3 %4 %5 %6
  4. 4. TUTO NetBeans Environnement de développement et de test  Configuration de NetBeans pour PHP Nicolas Defaÿ N.D oct.-16 /TUTO NetBeans v4.4.docx/ Page 4 sur 7  Configurer l’EDI (Menu1 : Outils/Options/PHP/ Onglet « Frameworks & Tools)  Si ce n'est pas déjà fait, ajouter le chemin de l'exécutable PHP dans le Path du système2 puis redémarrer NetBeans. 2.3 Mise en œuvre Nous partirons d’un exemple des plus simples : <?php class Note { private $maNote; public function __construct($uneNote) { $this->maNote = $uneNote; } public function noteValide() { return $this->maNote >= 0 && $this->maNote <= 20; } } Fichier note.class.php enregistré dans C:wampwwwtutos  Créer un nouveau projet à partir du dossier C:wampwwwtutos 1 Tools/Options/PHP/Onglet « Frameworks & Tools » 2 Pour modifier le Path : Démarrer/Ordinateur <clic droit>/Propriétés/Paramètres système avancés/Variables d'environnement... : Choisir la variable système "Path" puis modifier et ajouter le chemin à la chaîne. Bien vérifier la présence du .bat en fin de fichier !
  5. 5. TUTO NetBeans Environnement de développement et de test  Configuration de NetBeans pour PHP Nicolas Defaÿ N.D oct.-16 /TUTO NetBeans v4.4.docx/ Page 5 sur 7  Ajouter un dossier « TESTS » dans lequel les squelettes de classe seront générés :  Dans l'explorateur de projet, faire un clic droit sur le script à tester (note.class.php) et choisir la fonctionnalité de génération de gabarit de test : Sélectionner le dossier précédemment créé :  Choisir l'utilitaire de tests PHPUnit dans la fenêtre qui suit : Remarque : Un dossier nommé a été rajouté au projet. C’est un alias du dossier « TESTS » précédemment créé. La création des tests a pour effet de générer la classe NoteTest.php suivante :
  6. 6. TUTO NetBeans Environnement de développement et de test  Configuration de NetBeans pour PHP Nicolas Defaÿ N.D oct.-16 /TUTO NetBeans v4.4.docx/ Page 6 sur 7  Ajouter un « require » vers la classe Note :  Lancer l’exécution des tests : L’erreur est normale car, dans la fixture, aucun paramètre n’est renseigné lors de l’appel au constructeur de Note.  Dans cet exemple nous n’utiliseront pas de fixture3 .  Supprimer l’instruction présente dans la méthode setUp(), compléter la méthode testNoteValide() et relancer les tests : 3 Une fixture est un morceau de code qui permet de fixer un environnement logiciel pour exécuter des tests logiciels. Cet environnement constant est toujours le même à chaque exécution des tests (Source : Wikipédia).
  7. 7. TUTO NetBeans Environnement de développement et de test  Configuration de NetBeans pour PHP Nicolas Defaÿ N.D oct.-16 /TUTO NetBeans v4.4.docx/ Page 7 sur 7  Modifier la deuxième assertion et constater l’échec des tests :

×