Archives de catégorie : Zend Framework 1

Zend Framework 1 : Création d’un nouveau projet

Après avoir Configuré NetBeans pour une utilisation avec le Zend Framework, nous allons voir comment créer et configurer un nouveau projet.

Création du projet Zend Framework

Dans le menu File > New Project… choisissez un projet PHP > PHP Application.

Donner un nom à votre projet par exemple ZFIntro (évitez les accents, caractères spéciaux et les espaces) puis assurez-vous que Sources Folder pointe bien vers le répertoire htdocs/ZFIntro de XAMPP (il sera créé si besoin) :

  • Sous Windows : C:\xampp\htdocs\ZFIntro
  • Sous Mac : /Applications/XAMPP/xamppfiles/htdocs/ZFIntro

Si ce n’est pas le cas sélectionnez la bonne version de PHP dans le menu déroulant (si vous ignorez votre version de PHP, vous pouvez la retrouver sous XAMPP en cliquant ici : http://localhost/xampp/phpinfo.php).

Cliquez ensuite sur Next puis sur la page Run Configuration, ajoutez public à la fin de l’URL qui doit être de la forme http://localhost/ZFIntro/public/, le répertoire htdocs de XAMPP correspondant à http://localhost/ par défaut, notre configuration est correcte.

Cliquez sur Next et cochez bien évidemment la case Zend Framework.

Inclusion du Framework dans votre projet

Dans la barre d’outils de NetBeans, cliquez sur le bouton Run Project (triangle vert).

Une page web va se lancer dans le navigateur par défaut de votre système d’exploitation, normalement vous devriez avoir une erreur du type :

A ce stade si la page Welcome to the Zend Framework! s’affiche c’est paradoxalement mauvais signe, cela signifie que votre environnement de développement utilise une version de Zend qui est potentiellement plus ancienne que celle téléchargée dans l’article précédent.

Allez lire la directive include_path du fichier php.ini ou bien en regardant la valeur de cette même directive sur http://localhost/xampp/phpinfo.php

Dans mon cas :

Cela signifie que quand vous incluez un fichier en PHP celui si est recherché dans l’ordre dans les répertoires :

  • . (le repertoire courant, donc dans mon cas /Applications/XAMPP/xamppfiles/htdocs/ZFIntro/public)
  • /Applications/XAMPP/xamppfiles/lib/php
  • /Applications/XAMPP/xamppfiles/lib/php/pear

Sur Mac et sur des versions de XAMPP Windows plus anciennes, un répertoire Zend est présent dans le dernier cas, c’est à dire dans le répertoire PEAR, le fichier Zend/Version.php m’informe que la version du framework présente dans PEAR est la 1.10.2 alors que nous venons d’en télécharger une plus récente. Supprimez simplement ce dossier Zend et vous devriez obtenir une erreur (voulue pour l’instant) en affichant la page http://localhost/ZFIntro/public/

Allez simplement copier le répertoire Zend présent dans le dossier library de l’archive téléchargée dans le répertoire library de votre projet.

Vous devriez voir la page suivante s’afficher.

Création d’un Virtual Host sous Apache

La partie suivante est facultative mais recommandée, elle suppose que vous avez les droits d’administration sur votre système d’exploitation.

Le but ici est de remplacer l’URL http://localhost/ZFIntro/public/ par http://zfintro.local/ qui sera plus proche de ce que sera votre URL une fois le site en production.

Pour cela nous allons créer des serveurs virtuels sous Apache. L’idée est qu’un même serveur web puisse gérer plusieurs sites internet en se basant sur le nom de domaine. C’est exactement le type de configuration que l’on retrouverait chez un hébergeur mutualisé comme OVH ou 1&1, ce site en est d’ailleurs le parfait exemple puisque la liste des sites suivants sont hébergés sur le même serveur mutualisé (dont l’adresse IPv4 est 213.186.33.19) :

  • http://www.formateurinformatique.fr/
  • http://blog.baseclip.com/
  • http://why.bioub.com/
  • http://www.bohdanowicz.fr/

Nous allons reproduire ce comportement sur notre poste de développement, son adresse IPv4 est toujours 127.0.0.1 : c’est l’adresse réseau qui désigne la machine sur laquelle vous vous trouvez. Il y a également un nom de domaine associé qui s’appelle localhost. D’ailleurs vous pouvez très bien accéder à votre site Zend Framework via cette URL pour l’instant : http://127.0.0.1/ZFIntro/public/

Pour commencer nous allons définir un nouveau nom de domaine et l’associer à l’IP 127.0.0.1, pour ce faire il faut éditer un fichier hosts qui se trouve :

  • Sur Windows : c:\Windows\System32\drivers\etc\hosts
  • Sur Mac : /etc/hosts

Ce fichier est sensible, à tel point qu’un certains nombre de programmes malveillants, virus ou autres peuvent s’y attaquer.

Nous allons simplement ajouter à la fin de ce fichier la ligne :

Sous Windows cela se fait assez facilement, il suffit d’ouvrir le fichier avec le Bloc-Notes, l’éditer puis le sauvegarder.

Sur Mac il est un peu plus sécurisé, il va falloir passer par une ligne de commande. Pour ce faire allez dans Applications > Utilitaires et ouvrez l’application Terminal.

Si vous avez déjà installé l’éditeur de code TextMate, je vous recommande de taper la ligne (puis entrée et tapez votre mot de passe Mac OS X) :

Sinon il va falloir utiliser un autre programme, à ma connaissance le plus simple d’utilisation installé par défaut sous Mac et qui peut modifier le fichier hosts s’appelle pico et c’est un éditeur de texte en ligne de commande !

Tapez donc :

sudo pico /etc/hosts

Puis à l’aide des flèches du clavier, déplacez vous en bas du fichier et ajoutez notre fameux :

Puis CTRL-X pour quitter pico et touche ‘y’ puis entrée pour enregistrer le fichier.

Nous avons bien créé un nouveau nom de domaine, bien qu’il n’existe que sur notre machine de développement. Il ne nous reste plus qu’à configurer Apache pour que ce nouveau nom de domaine pointe vers le bon répertoire web.

Pour ce faire nous allons éditer le fichier httpd.conf présent dans XAMPP.

  • Sur Windows : c:\xampp\apache\conf\httpd.conf
  • Sur Mac : /Applications/XAMPP/xamppfiles/etc/httpd.conf

Chercher les lignes :

Sur Windows

Sur Mac

Assurez vous qu’il n’y ait pas de # (dièse) avant le mot Include, auquel cas notre fichier httpd-vhosts.conf serait ignoré.

Enfin il ne nous reste plus qu’à éditer ce fameux httpd-vhosts.conf présent :

  • Sur Windows : c:\xampp\apache\conf\extra\httpd-vhosts.conf
  • Sur Mac : /Applications/XAMPP/etc/extra/httpd-vhosts.conf

Commencez par faire une copie de sauvegarde de la forme httpd-vhosts.conf.bak (on est jamais trop prudent).

Puis nous allons l’éditer pour aboutir à :

Sur Windows :

Sur Mac :

Si vous avez une autre configuration que la mienne, Zend Framework a créé un fichier README.txt dans le répertoire docs à la racine de votre projet pendant sa création.

Vous y trouverez la bonne configuration pour votre serveur, il n’y a plus qu’à la copier dans le fichier httpd-vhosts.conf !

Sur Windows vous devez redémarrer votre ordinateur pour prendre en compte les modifications apportées au fichiers hosts. Sur Mac il suffit de redémarrer le serveur Apache de XAMPP pour prendre en compte le changement de configuration !

Retournez ensuite sous NetBeans, puis faites un clic-droit sur le nom du projet dans l’explorateur à gauche. Puis modifier votre URL en http://zfintro.local/ et enregistrez.

Cliquez de nouveau sur l’icône Run Project. Normalement vous devriez retomber de nouveau sur la page d’accueil de votre projet Zend ! (Pensez à vérifier également que http://localhost/ pointe toujours vers la page d’accueil de XAMPP).

Dans le prochain article nous allons étudier l’architecture d’un projet Zend Framework.

Zend Framework 1 : Configuration de NetBeans

Dans cet article nous allons voir comment configurer Zend Framework pour une utilisation dans l’environnement de développement intégré (EDI, IDE en anglais) NetBeans sur Windows ou sur Mac.

Mes configurations dans les deux cas :

Windows :

  • Windows 7 Professionnel SP1 en Français
  • NetBeans 7.0.1 en Anglais (je vous déconseille la version française qui n’est que partiellement traduite, à 63% au moment où j’écris)
  • XAMPP 1.7.4
  • Zend Framework 1.11.11

Mac :

  • Mac OS 10.6.8 en français
  • NetBeans 7.0.1 en Anglais
  • XAMPP 1.7.4
  • Zend Framework 1.11.11

Aller sur http://framework.zend.com/download/latest et télécharger le fichier Zend Framework Minimal.

Décompresser l’archive dans un répertoire qui ne changera plus par exemple dans vos documents créez un répertoire Bibliothèques PHP.

Le Zend Framework Minimal contient un répertoire bin avec les scripts CLI (ligne de commande) du composant Zend_Tool, ainsi qu’un répertoire library qui contient les classes du framework.

Configuration de Zend Framework

Si vous n’avez jamais utilisé NetBeans pour développer en PHP, commencez par activer le module PHP dans le menu Tools > Plugins > Installed > PHP. Vous pouvez également créer un projet PHP vierge qui activera PHP dans l’IDE.

Allez dans les Options de NetBeans :

  • Sur Windows : menu Tools > Options > PHP > Zend
  • Sur Mac : menu NetBeans > Préférences > PHP > Zend

Dans Zend script nous allons inclure le fichier correspondant au composant Zend_Tool :

  • Sur Windows : le fichier zf.bat du répertoire bin de Zend Framework
  • Sur Mac (ou Unix) : le fichier zf.sh de ce même répertoire

Cliquez ensuite sur le bouton Register Provider, si tout se passe bien la ligne suivante s’affiche dans la console en arrière-plan :

Sous Windows j’ai eu l’erreur suivante :

Cela est dû au fait que le script zf.bat exécute php en ligne de commande sans indiquer le chemin exact ou le programme est installé. Nous allons ajouter le répertoire de PHP à la variable d’environnement PATH pour résoudre ce problème.

Pour ce faire aller dans l’explorateur Windows, puis clic-droit sur Ordinateur > Propriétés > Paramètres système avancés. Cliquez sur le bouton Variables d’environnement et dans Variables système ajoutez ;C:\xampp\php à la fin de la valeur associée à la variable Path. Si vous n’avez pas les droits suffisants, cela peut également être fait en créant une variable utilisateur appelée Path et ayant pour valeur C:\xampp\php (Pour WAMP se serait par exemple C:\wamp\bin\php\php5.3.4)

Relancez NetBeans puis renouvelez la configuration de Zend.

Création d’un raccourci clavier pour lancer les commandes de Zend

Nous allons maintenant créer un raccourci clavier qui nous permettra de lancer les commandes de Zend_Tool plus facilement.

Allez dans l’onglet Keymap des options de NetBeans, puis tapez Z dans Search in shorcuts sur Mac le raccourci Ctrl+Z doit être dispo, sur Windows Ctrl+Alt+Z. Videz le champ Search in shorcuts puis tapez Zend dans Search et créez le raccourci de votre choix pour Zend : Run Command… en cliquant sur le bouton … à droite de la colonne shortcuts puis Edit, faite votre raccourci au clavier puis Entrée pour valider.

Netbeans est maintenant configuré pour une utilisation avec Zend.

Dans le prochain article nous aborderons la création d’un nouveau projet.