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

Documents pareils