Citation

J’ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone.

Bjarne Stroustrup

mardi 8 janvier 2013

FuelPHP Pas à pas #2 - vue

Dans la 1ère partie, le résultat était franchement moche mais permettait de voir l'aspect "Controller" du framework. Maintenant voyons un peu l'aspect "View".

"Hello World" un peu plus beau

Dans cette partie, on va créer une belle page HTML (enfin, belle....) et l'afficher grâce au  à un nouveau contrôleur. On commence par le contrôleur Step2. Dans le répertoire APPPATH/classes/controller on crée un fichier step2.php avec le code suivant:

<?php
class Controller_Step2 extends Controller {
    public function action_index()
    {
        return Response::forge(View::forge('step2/index'));
    }
}


La différence se trouve dans ce qui est renvoyé par la méthode action_index(). Ce code crée un objet "Response" et lui transmet un objet "View" que l'on crée. Cette objet "View" affiche la vue step2/index.
Si on va sur l'adresse http://localhost/fuelphp/public/step2 ... ça ne marche pas. On a demandé à l'objet View d'afficher une vue mais on n'a pas créé cette vue.
On va créer un fichier dans le répertoire APPPATH/views/step2, ce fichier s’appellera "index.php" et son code sera:

<?php echo Html::doctype('xhtml1-strict');?>
<html>
<head>
    <meta charset="utf-8">
    <title>Step 2 - Page statique</title>
</head>
<body>
    <h1>Step 2 - Page statique</h1>
    <p>Cette page est juste générée via un appel à la classe View qui demande d'afficher une page statique (APPPATH/views/step2/index.php). Le controleur est la classe Controller_Step2 défini dans  APPPATH/classes/controller/step2.php et hérite de Controller</p>   
    <footer>
        <p class="pull-right">Page rendered in {exec_time}s using {mem_usage}mb of memory.</p>
        <p>
            <a href="http://fuelphp.com">FuelPHP</a> is released under the MIT license.<br>
            <small>Version: <?php echo Fuel::VERSION; ?></small>
        </p>
    </footer>
</body>
</html>


C'est un fichier HTML avec un peu de code dedans.
La 1ère ligne utilise une méthode de la classe Html qui permet de définir le doctype de la page HTML, ici avec beaucoup d'ambition, j'ai utilisé xhtml-strict.
Dans le <footer>, on affiche le temps d’exécution et la mémoire consommée par la requête, ceci est fait à la toute fin du fichier /fuelphp/public/index.php
Comme cette page est un peu plus belle que la précédente, on va la mettre comme page par défaut en modifiant APPPATH/config/routes.php avec le code:

'_root_'  => 'step2/index',  // The default route

Maintenant http://localhost/fuelphp/public/ nous emmène directement sur notre "belle" page HTML.

Aucun commentaire:

Enregistrer un commentaire