Un blog en Zend Framework : Etape 1 => Zend Tool
Dev

Un blog en Zend Framework : Etape 1 => Zend Tool

Le Zend Framework, depuis sa version 1.8, a apporté une nouvelle fonctionnalité, le ZendTool. Cela permet de nous aider dans la mise en route d’un projet Zend Framework.

Pour cette série d’article, je vais prendre comme exemple la création d’un blog. Il ne s’agit pas de concurrencer WordPress ou dotclear, ce blog aura des fonctionnalités simples, comme l’affichage des articles, l’affichage par catégorie d’article et par auteur.

Configuration

Je pars du principe que votre Zend Server est correctement installé. Le répertoire d’installtion est /usr/local/zend.

Création d’un lien symbolique sur le script zf.sh

sudo ln -s /usr/local/zend/share/ZendFramework/bin/zf.sh /usr/bin/zf

Création d’un projet

Dans un premier temps, il faut se placer dans le répertoire destination. Dans mon cas, je me suis positionné dans mon répertoire Sites, à savoir /Users/jean/Sites

zf create project blog

Structure Zend FrameWork Nous retrouvons l’architecture sandard du Zend Framework, avec 3 répertoires principaux : application, library et public.

public

Ce répertoire est le répertoire de départ de notre site. Il contient uniquement le fichier index.php et .htaccess. C’est ici que nous ajouterons nos fichiers css, javascript et images.

library

Ce répertoire contiendra vos classes et éventuellement le répertoire du Zend Framework s’il n’est pas configuré dans votre include_path.

application

C’est le coeur de notre application. Il est composé d’un fichier Bootstrap.php et de 4 répertoires : vos controlleurs (controllers), vos modèles (models), vos vues (views) et le répertoire de configuration (configs).

Configuration du serveur Apache

Pour faire fonctionner le site, il faut créer un virtual host dans notre serveur Apache, pour pointer sur notre répertoire public ajouter cela dans le fichier : /usr/local/zend/apache2/conf/extra/httpd-vhosts.conf

<virtualhost *:80> 
    DocumentRoot /Users/jean/Sites/blog/public 
    ServerName blog 
</virtualhost>

ainsi que cette ligne dans votre fichier /etc/hosts

127.0.0.1 blog

redémarrage du serveur apache :

sudo /usr/local/zend/bin/apachectl restart

ouvrir la page http://blog/ dans votre navigateur, et vous devez voir cette page : ecran OK Félicitation, votre projet est correctement configuré.

Création de nos contrôleurs

Pour cette exemple, je vais mette en place 2 contrôleurs : articles, pour l’affichage des articles, avec un affichage par auteur et catégorie, ainsi que auteurs, pour afficher la liste des auteurs et la page détail de l’auteur.

Contrôleur articles

Nous allons créer les actions suivantes, sauf l’action index, qui est créée directement avec le contrôleur :

  • index : affichage des derniers articles, juste le teaser
  • categorie: pour l’affichage des articles pour une catégorie
  • auteur: affichage des articles pour un auteur
  • detail: affichage de l’article complet

Voici les commandes pour créér ce contrôleur, ainsi que les actions correspondantes :

zf create controller articles 
zf create action categorie articles 
zf create action auteur articles 
zf create action detail articles

Contrôleur auteurs

Il ne contient que les actions index et detail.

zf create controller auteurs 
zf create action detail auteurs

Comme on peut le voir dans l’image ci dessous, les controlleurs et vues sont automatiquement générés. structure-after.png

Test

Nous allons maintenant vérifier que tout cela fonctionne, en testant les urls suivantes :

  • http://blog/articles
  • http://blog/articles/detail
  • http://blog/articles/categorie
  • http://blog/articles/auteur
  • http://blog/auteurs
  • http://blog/auteurs/detail

La suite

Pour l’instant, ces pages ne contiennent pas grand chose, mais nous allons rapidement y remédier.

Dans le prochain billet, nous allons mettre en place la base de données, l’utilisation de DbTable et mettre en place l’affichage de ces données.

A voir ou revoir :

Visited 7 times, 1 visit(s) today