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?].
|
- 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.
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
?>
|
- 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