Zend Framework : téléchargement, configuration, utilisation

Nous allons voir ici le téléchargement, l’installation et enfin la configuration de base de Zend Framework.

Téléchargement

À ce jour, la dernière version en date de cet article est la 1.10.8.

Pour la récupérer directement, vous pouvez ouvrir ce lien : téléchargement de la version 1.10.8. La dernière version du framework étant à cette adresse.

Le lien direct permet de télécharger la version minimale, ne contenant que le code du framework. Vous pouvez télécharger la version complète si vous souhaitez accéder à la documentation hors ligne ou encore voir le code source des tests unitaires.

Configuration

Nous allons considérer un serveur Web (ex : Apache et PHP) installé sur votre machine locale. Le principe est le même pour la mise en place sur un serveur dédié, mais quelque manipulations supplémentaires sont tout de même nécessaires (transfert FTP, etc.).

Décompressez l’archive téléchargée. Vous devriez avoir un répertoire contenant les dossiers et fichiers suivants :

  • bin – contient des exécutables
  • library – contient le code du framework
  • INSTALL.txt – fichier d’information sur l’installation
  • LICENSE.txt – fichier d’information sur la licence du framework
  • README.txt – information sur les nouveautés

Zend Framework fourni un outil en ligne de commande permettant de gérer les tâches rébarbatives liées aux différents projets. Si vous souhaitez utiliser seulement certains modules (Zend_Mail, Zend_Feed, etc.), alors il est inutile de vous préoccuper de ces fichiers. En effet, cet outil est destiné aux projets utilisant le design pattern MVC. Ce sera l’objet des prochains tutoriels sur ZF. Pour le moment, nous allons voir l’utilisation modulaire du framework.

Nous allons copier/coller le contenu du répertoire library, c’est-à-dire le répertoire Zend, dans votre répertoire Web. Pour le choix de l’endroit, c’est à vous de voir, vous pouvez garder le nom library, ou vous pouvez le placer dans un endroit où vous stocker vos bibliothèques PHP. Pour notre test, je vais simplement considérer notre répertoire s’appel library.

Voici notre arborescence destinée à nos tests :

-rw-r--r-- 1 jerome jerome       0 2010-10-13 12:53 index.php
drwxr-xr-x 3 jerome jerome    4096 2010-08-25 00:58 library

C’est ultra light. Ouvrez le fichier index.php pour commencer à le configurer.

Nous allons charger un fichier spécifique à l’auto chargement des classes. Effectivement, le ZF est composé de plus de 2 000 fichiers PHP, alors les inclure manuellement pourrait vite devenir un calvaire. L’autoloader de ZF exploite la fonction PHP __autoload afin de capturer les demandes de chargement de classe. Il est possible d’ajouter des fonctions à l’autoloader, ce qui est pratique lorsque vous intégrez ZF à un projet existant et que vous utilisiez déjà la fonction __autoload. Il vous suffirait alors de renommer cette dernière en myAutoload (par exemple), et de l’ajouter à ZF. Pour plus d’information, vous pouvez lire la documentation concernant Zend Loader.

Les fichiers PHP de ZF font appel à require_once dans le cas où l’autoloader ne serait pas utilisé. Mais, ces inclusions deviennent inutile lorsque l’autoloader est utilisé. Dans un prochain article, nous verrons comment désactiver ces appels, car ils sont consommateurs de ressource.

/*
 * Plus tard, cette partie deviendra inutile quand nous aurons
 * supprimé les require_once des fichiers Zend.
 */
set_include_path(
    dirname(__FILE__)."/library".PATH_SEPARATOR.
    get_include_path()
);

require_once dirname(__FILE__)."/Zend/Loader/Autoloader.php";
$autoloader = Zend_Loader_Autoloader::getInstance();

À ce stade, nous pouvons d’ores et déjà utiliser les composants du framework.

Utilisation

Maintenant que les fichiers du framework sont près à être inclus, nous allons pouvoir les utiliser. Je vais donc vous montrer l’utilisation d’un module afin de servir d’exemple. Ce sera Zend Mail. Il permet, comme son nom l’indique, de gérer tout ce qui tourne autour de la gestion de mail, l’envoi comme la lecture.

set_include_path(
    dirname(__FILE__)."/library".PATH_SEPARATOR.
    get_include_path()
);

require_once "Zend/Loader/Autoloader.php";
$autoloader = Zend_Loader_Autoloader::getInstance();

$mail = new Zend_Mail("utf-8");
$mail->setFrom("from@programmation-web.net", "Blount");
$mail->addTo("copain@programmation-web.net", "Copain de Blount");
$mail->setSubject("Bonjour de Blount");
$mail->setBodyText("Si tu reçois ce message, c'est que tout fonctionne bien.");
$mail->send();
  • L9 : on instancie un objet Zend_Mail avec l’encodage utf-8
  • L10 : on définit l’émetteur. La méthode prend l’adresse mail de l’émetteur en premier paramètre et l’identité (nom/prénom, pseudo, ou autre information) de l’émetteur en second.
  • L11 : définition du destinataire. Mêmes paramètres que précédemment.
  • L12 : définition de l’objet du mail.
  • L13 : texte à envoyer au destinataire. Utilisez setBodyHtml pour envoyer un mail au format HTML.
  • L14 : enfin, on envoie le mail.

C’est la version simplifiée de l’envoi de mail. D’autres fonctionnalités, tel que l’envoi de pièce jointe, sont disponibles. Nous verrons cela plus tard 😉

Conclusion

Nous avons vu que l’utilisation de Zend Framework est vraiment simple. En trois lignes de code, il est possible d’utiliser les modules de ZF.

La mise en place pour l’utilisation du design pattern MVC sera un poil plus long, mais restera simple.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Notifiez-moi des commentaires à venir via email. Vous pouvez aussi vous abonner sans commenter.