14.Installation de Zend Framework 2

14.1.Introduction

Zend Framework est le framework proposé par Zend (auteur du moteur de PHP). Ce framework implémente le modèle MVC et propose toute une palette de fonctions destinées à faciliter les développements. Il peut donc être utilisé soit en tant que simple bibliothèque de fonctions soit en tant que "moteur" MVC.
Nous présentons ici, l'installation de la version 2 (antérieure à la version 2.5) de Zend Framework. Si vous souhaitez une version au moins égale à 2.5 (à condition de disposer d'une version de PHP au moins égale à 5.5), voire une version 3 (à condition de disposer d'une version de PHP au moins égale à 5.6) nous vous invitons à consulter le chapitre Installation de la dernière version de Zend Framework.

14.2.Installation

Depuis 2016, l'installation de Zend Framework ne se fait plus via la décompression d'une archive mais via la commande composer[c'est quoi?]. Vous devez donc au préalable disposer de composer[comment?].
rem
  • Si vous souhaitez installez ZF2 à partir d'une archive dont vous disposez, restez avec nous, le chapitre "utilisation en tant que bibliothèque" et les suivants peuvent vous intéresser.
Choisissez donc l'espace dans lequel vous souhaitez installer Zend Framework (disons /usr/local/) et lancez la commande /usr/local composer require zendframework/zendframework=2.* Ceci va installer la dernière version 2 de Zend Framework compatible avec votre environnement PHP. Si vous disposer de PHP au moins en version 5.5 alors c'est au moins une version 2.5 de Zend Framework qui sera installée, dans ce cas nous vous invitons à consulter le chapitre Installation de Zend Framework 3 et 2.5+. Notez bien qu'il n'y a pas eu d'évolutions lors du passage de 2.4 à 2.5, juste une réorganisation des fichiers similaire à celle de la version 3.
A l'issue de l'installation vous trouverez, dans le répertoire dans lequel vous avez lancé la commande:
  • Le fichier composer.json qui contient simplement la demande que vous avez effectuée en ligne de commande
  • Le fichier composer.lock un simple fichier de protection et de cache que l'on peut (en l'état) ignorer
  • Le dossier vendor/ celui qui réceptionne toutes les bibliothèques récupérées via composer
C'est bien évidemment ce dossier qui nous intéresse. Sous vendor/ vous retrouverez (entre autres):
  • Le fichier autoload.php, nous y reviendrons plus tard
  • Le dossier zendframework/ qui contient l'ensemble des fichiers de Zend Framework
Ce dossier zendframework/ contient un autre dossier également appelé zendframework/ qui lui même contient library/ qui contient la bibliothèque de classes du framework.
rem

14.3.Utilisation en tant que bibliothèque (pour un script PHP)

14.3.1.Introduction

Si vous appliquez le principe de base, pour utiliser les classes de la bibliothèque Zend Framework, vous devez faire un include[c'est quoi?] de chaque fichier contenant chacune des classes que vous souhaitez utiliser dans vos scripts. Ceci implique de savoir localiser chacun de ces fichiers et cela peut vite devenir fastidieux. Pour s'affranchir de cette difficulté, il faut utiliser un "autoloader" qui comme son nom l'indique se chargera de charger automatiquement les fichiers dont vous avez besoin.
Si vous avez installé Zend Framework via l'outil composer alors vous disposez d'un fichier autoloader.php qui vous aidera dans cette tâche.
Utiliser l'autoloader consiste simplement à ajouter au début de votre script principal une instruction comme:
<?php
require_once '/chemin/vers/vendor/autoloader.php';
// A partir de là, vous pouvez utiliser les classes ZF sans avoir recours à include
?>
Vous trouverez plus de détails sur ce sujet dans le chapitre Installation de Zend Framework 3 et 2.5+
En revanche, si vous avez procédé à l'installation de ZF2 via une archive (à l'ancienne) vous ne disposez pas de ce fichier et devrez sans doute vous tourner vers l'autoloader de ZendFramework.

14.3.2.Autoloader Zend Framework (version antérieure à 2.5)

Dans les versions 2 antérieures à 2.5, les classes Zend sont regroupées dans un dossier Zend/ (que l'on retrouve normalement sous library/). Pour faire appel à l'autoloader standard il faut inclure le fichier de la classe Zend/Loader/StandardAutoloader.
<?php
require_once '/chemin/vers/ZF2/library/Zend/Loader/StandardAutoloader.php';
$loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));
$loader->register();

// A partir de là, le script est capable de charger toutes les classes Zend
?>
rem
  • Pensez à remplacer /chemin/vers/ZF2/ par la valeur adaptée à votre environnement
  • On aura tout intérêt à ajouter /chemin/vers/ZF2/ à l'include_path[c'est quoi?] et remplacer dans le script la ligne require_once par require_once 'Zend/Loader/StandardAutoloader.php' afin de rendre le script indépendant du chemin d'installation

14.4.Installation en tant que "coeur" d'une application web

L'installation Zend Framework 2 (< 2.5) en tant que "coeur" d'application web ne diffère pas de celle de Zend Framework 2.5 et 3. Nous vous invitons donc à consulter le chapitre Configuration du mod_rewrite pour Zend Framework 3 et 2.5+.