TUTO NetBeans
Transcription
TUTO NetBeans
Environnement de développement et de test TUTO NetBeans Configuration de NetBeans pour PHP Nicolas Defaÿ Ce tutoriel vous indique comment configurer NetBeans pour PHP sous Windows avec : - L’extension Xdebug - Le framework PEAR - L'outil de génération de documentation ApiGen - Les frameworks d’analyse de code source Code Sniffer et PMD - Le framework de tests unitaires PHPUnit Cette installation concerne la version 7.4 de NetBeans. Elle a été réalisée sous Windows 7 Professionnel 64bits avec WAMP Server 2.4 64 bits (Apache 2.4.4 et PHP 5.4.12). 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). 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 et 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 exécuté <?php for ($x = 1; $x < 3 ; $x++) { // Pour l'exécution pas à pas ;) } echo $x; echo $y; ?> Sans Xdebug N.D fev.-14 Avec Xdebug /TUTO NetBeans v3.1.docx/ Page 1 sur 8 TUTO NetBeans Environnement de développement et de test Configuration de NetBeans pour PHP Nicolas Defaÿ 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.3-5.4-vc9-x86_64.dll dans le dossier C:\wamp\bin\php\php5.4.12\zend_ext Ouvrir le fichier php.ini depuis l'application WampServer et ajouter la ligne qui apparait en vert à la fin du fichier : ; XDEBUG Extension zend_extension = "c:/wamp/bin/php/php5.4.12/zend_ext/php_xdebug-2.2.3-5.4-vc9x86_64.dll" [xdebug] xdebug.remote_enable xdebug.profiler_enable xdebug.profiler_enable_trigger xdebug.profiler_output_name xdebug.profiler_output_dir = = = = = off off off cachegrind.out.%t.%p "c:/wamp/tmp" xdebug.show_local_vars = on Redémarrer le service Apache pour une prise en compte des nouveaux paramètres. Vérifier 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.4.12/zend_ext/php_xdebug-2.2.3-5.4-vc9x86_64.dll" [xdebug] xdebug.remote_enable xdebug.remote_handler xdebug.remote_host xdebug.remote_port = = = = on dbgp localhost 9000 xdebug.profiler_enable xdebug.profiler_enable_trigger xdebug.profiler_output_name xdebug.profiler_output_dir = = = = off off cachegrind.out.%t.%p "c:/wamp/tmp" xdebug.show_local_vars = on Redémarrer le service Apache pour une prise en compte des nouveaux paramètres. N.D fev.-14 /TUTO NetBeans v3.1.docx/ Page 2 sur 8 Environnement de développement et de test TUTO NetBeans Configuration de NetBeans pour PHP Nicolas Defaÿ 1.3 Mise en œuvre Ouvrir NetBeans et lancer l'exécution du script (cf. §1.1) en mode débogage : F5) (ou <Ctrl> + 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" PEAR 2.1 Présentation PEAR (PHP Extension and Application Repository) est une collection de bibliothèques d'outils développés en PHP. Elle peut être assimilée à un framework. Ce type de bibliothèque propose un ensemble de composants logiciels pouvant être exploités librement et personnalisés. Site officiel : http://pear.php.net/ Les outils abordés par la suite dans ce tutoriel (ApiGen, Code Sniffer, PMD et PHPUnit) s’appuient sur cette bibliothèque qu’il faut donc installer. 2.2 Installation Télécharger le fichier go-pear.phar sur http://pear.php.net/go-pear.phar et l’enregistrer dans le dossier C:\wamp\bin\php\php5.4.12. Veiller à bien télécharger ce fichier même s’il est présent dans l’arborescence. Lancez une console (avec les droits d’un administrateur) puis placez-vous dans le répertoire C:\wamp\bin\php\php5.4.12 Lancer l’installation de PEAR : > php go-pear.phar Pour toutes les questions qui suivront, taper la touche entrée pour répondre avec les valeurs proposées par défaut. Suite à cette installation, un fichier Pear_ENV.reg est créé dans le répertoire C:\wamp\bin\php\php5.4.12 Double-cliquer sur ce fichier depuis l’explorateur afin de finaliser l'installation PEAR. N.D fev.-14 /TUTO NetBeans v3.1.docx/ Page 3 sur 8 TUTO NetBeans Environnement de développement et de test Configuration de NetBeans pour PHP Nicolas Defaÿ 3. Générateur ApiGen 3.1 Présentation ApiGen est un outil de génération automatique de documentation de code PHP qui s'appuie sur des composants logiciels de la bibliothèque PEAR. Alternative à phpDocumentor, il est recommandé sous NetBeans. Site officiel : http://apigen.org/ La convention d’écriture des commentaires est PHPDoc (adaptation de JAVADoc). Cette syntaxe est utilisée par PEAR ainsi que par l’outil de modélisation DIA. Site officiel : http://www.phpdoc.org/docs/latest/references/phpdoc/index.html Exemples de commentaires : http://pear.php.net/manual/fr/standards.sample.php 3.2 Installation Ouvrir une console (avec les droits d’un administrateur) puis placez-vous dans le répertoire C:\wamp\bin\php\php5.4.12 et lancer les commandes suivantes : > pear config-set auto_discover 1 > pear install pear.apigen.org/apigen Configurer l’EDI (Menu : Outils/Options/PHP/Onglet « ApiGen ») Bien vérifier la présence du .bat en fin de fichier ! Cette version nécessite une mise à jour du chemin vers Texy 1 : Ouvrir le fichier C:\wamp\bin\php\php5.4.12\apigen avec Notepad++ et modifier le chemin vers le script texy.php comme surligné en vert : 3.3 Mise en œuvre Créer un dossier dans lequel la documentation sera générée. Exemple : 1 Texy est une bibliothèque PHP dédiée à la mise en forme de pages WEB. N.D fev.-14 /TUTO NetBeans v3.1.docx/ Page 4 sur 8 Environnement de développement et de test TUTO NetBeans Configuration de NetBeans pour PHP Nicolas Defaÿ Depuis l’explorateur de projet de NetBeans, faire un clic droit sur le projet et choisir la fonctionnalité de génération de documentation : Sélectionner le dossier précédemment créé : Exemple de résultat : Le code d’une classe La documentation générée (extraits) <?php /** * Projet Tuto NetBeans * * Classe de démonstration pour la génération de documentation. * * @author Nicolas Defaÿ * @license CC by-nc-sa * @version 1.0 * */ class Chaise { /** * La couleur de la chaise * * @var string * @access private */ private $couleur; /** * Le constructeur de Chaise * * @param string $uneCouleur * @access public */ public function __construct($uneCouleur) { $this->couleur = $uneCouleur; } /** * Retourne la couleur de la chaise * * @access public * @return string */ public function getCouleur() { return $this->couleur; } } ?> N.D fev.-14 /TUTO NetBeans v3.1.docx/ Page 5 sur 8 TUTO NetBeans Environnement de développement et de test Configuration de NetBeans pour PHP Nicolas Defaÿ 4. Les frameworks Code Sniffer et PMD 4.1 Présentation CodeSniffer est un analyseur de code qui intègre les conventions de codage de plusieurs standards (PEAR, ZEND...). Il analyse également le code JavaScript et les feuilles de style (CSS). Il est possible de définir ses propres conventions. Site officiel : http://www.squizlabs.com/php-codesniffer PMD (PHP Mess Detector) est à la base un framework d’analyse de code source Java. Il existe également pour PHP et s’intègre facilement sous NetBeans. Cet outil vérifie la qualité du code (respect des conventions d’écriture, complexité, code mort...) Site officiel : http://phpmd.org/ 4.2 Installation Ouvrir une console (avec les droits d’un administrateur) puis placez-vous dans le répertoire C:\wamp\bin\php\php5.4.12 et lancer les commandes suivantes : > pear install PHP_CodeSniffer > pear channel-discover pear.phpmd.org > pear channel-discover pear.pdepend.org > pear install --alldeps phpmd/PHP_PMD Ignorer l’avertissement concernant php_bin et l’erreur relative au fichier imagick.dsp Configurer l’EDI (Menu : Outils/Options/PHP/Onglet « Code Analysis ») Bien vérifier la présence du .bat en fin de fichier ! 4.3 Mise en œuvre Depuis NetBeans, ouvrir le fichier à tester et lancer l'analyse du code : Menu Source/Inspect... N.D fev.-14 /TUTO NetBeans v3.1.docx/ Page 6 sur 8 TUTO NetBeans Environnement de développement et de test Configuration de NetBeans pour PHP Nicolas Defaÿ Exemple de résultat obtenu en utilisant la classe abordée en 3.3 : Les erreurs affichées concernent le non respect des conventions d’écriture du code. Elles sont générées par Code Sniffer (configuré pour PEAR). Ajouter une propriété quelconque dans la classe Chaise et relancer l’analyse du code : Ici, l’analyse réalisée par PMD fait ressortir la non-utilisation de la propriété ajoutée dans le code. 5. Le framework PHPUnit 5.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. PHPUnit s’intègre très facilement sous NetBeans. Site officiel : http://phpunit.de/ 5.2 Installation Ouvrir une console (avec les droits d’un administrateur) puis placez-vous dans le répertoire C:\wamp\bin\php\php5.4.12 et lancer les commandes suivantes : > pear channel-discover pear.phpunit.de > pear install --alldeps phpunit/PHPUnit > pear install phpunit/PHPUnit_SkeletonGenerator N.D fev.-14 /TUTO NetBeans v3.1.docx/ Page 7 sur 8 TUTO NetBeans Environnement de développement et de test Configuration de NetBeans pour PHP Nicolas Defaÿ Configurer l’EDI (Menu : Outils/Options/PHP/Onglet « Unit Testing ») Bien vérifier la présence du .bat en fin de fichier ! 5.3 Mise en œuvre Créer un dossier dans lequel les squelettes de classe seront générés. Exemple : Dans l'explorateur de projet, faire un clic droit sur le script à tester et choisir la fonctionnalité de génération de gabarit de test : Sélectionner le dossier précédemment créé : Le cas échéant, choisir l'utilitaire PHPUnit dans la fenêtre qui suit : Remarque : Un dossier nommé à été rajouté au projet. C’est un alias du dossier précédemment créé. Exemple de résultat obtenu en utilisant la classe abordée en 3.3 : N.D fev.-14 /TUTO NetBeans v3.1.docx/ Page 8 sur 8