Table of Contents |
---|
Pour ce premier exemple on va faire le plus simple possible. On va faire une page affichant un simple “bonjour tout le monde”.
Pour commencer récupérez la dernière version du framwork. Puis dérarez à la racine de votre serveur web, vous devriez obtenir une arborescence de ce genre :
framework_xxx/ app/ public/ ... framework/ ...
Le repertoire framework
contient comme son nom l’indique les fichiers du framework… nromalement vous n’avez pas besoin d’y toucher.
Le repertoire app
contient quant à lui tous les fichiers propres à votre application, c’est dans ce repertoire que vous travaillerez.
Le repertoire app/public
contient le fichier index.php
par lequel passe toutes les requetes.
Vous pouvez donc déjà acceder à votre script à cette url : http://localhost/framework_0.1/app/public/ (pous l’instant il y a un message d’erreur mais c’est normal). Notez que pour une mise en production il est tout à fait possible, et même conseiller de mettre le fichier index.php
à la racine du site, vous aurez ainsi des url plus sympas… je vous conseille également de mettre les repertoires app
et framework
en dehors du “DocumentRoot” de votre serveur web.
Pour l’instant l’application ne possède aucune page! On va donc commencer par en rajouter une. Editez le fichier app/pages.php
, puis modifiez la fonction pages afin d’obtenir ça :
function pages() { $pages = new Pages(); $pages->addPage(new Page('Dire', 'coucou')); $pages->addDefaultPage(new Page('Dire', 'coucou')); // définition de la page par défaut $pages->addError404Page(new Page('SiteBase', 'error404')); // définition de la page d'erreur return $pages; }
Une page est définie par trois choses ; un nom de controlleur, un nom d’action et une liste de nom de paramètre (y’en a pas ici). On vient donc de rajouter une page dont le controlleur est “Dire”, et l’action est “coucou”.
En essayant d’accéder à la page http://localhost/framework_0.1/app/public/index.php?Dire/coucou vous devriez avoir un message d’erreur vous disant : “le module Dire n’existe pas.”. C’est normal car il nous faut encore créer le controlleur “Dire” et son action “coucou”.
Si vous avez python vous pouvez générer automatiquement le sequelette de ce controller :
$ cd framework_0.1/ $ python framework/scripts/create_controller.py Dire coucou > app/Controllers/DireController.php
La commande précédante devrait vous générer un fichier app/Controllers/DireController.php
ressemblant à ça :
<?php require_once 'SiteBaseController.php'; class DireController extends SiteBaseController { function coucouAction() { return $this->template->toHtml(); } } ?>
Une action doit toujours (enfin presque) renvoyer la valeur à afficher quand elle est appelée. Ici veut que l’action “coucou” renvoie la chaine “bonjour tout le monde”. On change donc la méthode coucouAction comme ceci :
function coucouAction() { return 'bonjour tout le monde'; }
Maintenant si vous allez ici : http://localhost/framework_0.1/app/public/index.php?Dire/coucou ça devrait marcher :)