[[creer_une_actions_a_partir_d_autres_actions]]

Créer une action à partir d'autres actions

Pour réaliser ce tuto vous devez avoir compris et testé l’[exemple de base|http://satz.free.fr/blog/index.php?2004/10/01/52-exemple-de-base]. Vous possédez donc déjà un controlleur “Dire” ainsi qu’une action “coucou”.

On va commencer par rajouter une seconde action auRevoir. Modifiez le fichier app/Controllers/DireController.php comme ceci :

<?php
require_once 'SiteBaseController.php';

class DireController extends SiteBaseController {

    function coucouAction() {
        return 'bonjour tout le monde';
    } 

    function auRevoirAction() {
        return 'au revoir';
    }
}
?>

Vous disposez maintenant de deux actions : http://localhost/framework_0.1/app/public/index.php?Dire/coucou et http://localhost/framework_0.1/app/public/index.php?Dire/auRevoir.

Pour finir, on va créer une dernière action “tout” qui sera la concatenation des actions “coucou” et “auRevoir” :

<?php
require_once 'SiteBaseController.php';

class DireController extends SiteBaseController {

    function coucouAction() {
        return 'bonjour tout le monde';
    } 

    function auRevoirAction() {
        return ' au revoir';
    }

    function toutAction() {
        return $this->execute('coucou').$this->execute('auRevoir');
    }
}
?>

Allez là : http://localhost/framework_0.1/app/public/index.php?Dire/tout pour voir le resultat.

La méthode $this→execute(<nom d’une action>) permet de récupérer le resultat d’une action. On peut également récuperer le résultat d’une action provenant d’un autre controlleur en spécifiant le nom du controlleur en second paramètre (par exemple : $this→execute(’nomAction’, ‘nomControlleur’)).

Dans cet exemple il aurait été bien plus simple de créer une action tout renvoyant directement la chaine “bonjour tout le monde au revoir”, cependant lorsque l’on crée un site, ceci permet de mieux organiser son code. Par exemple, pour un site possédant un menu, une zone de contenu, ainsi qu’une zone pour se logger, on pourrait avoir des actions menu, contenu, loggin, puis pour finir une action page rassemblant les trois actions précédantes (c’est pas forcement un bon exemple mais bon…).

Il reste enncore à voir comment utiliser les templates (jusqu’a maintenant les actions renvoyaient directement des chaines de caractères au lieu de renvoyer des templates), comment gérer l’accés aux bases de données, puis pour finir comment gérer les formulaires.

creer_une_actions_a_partir_d_autres_actions.txt · Last modified: 2004/10/13 22:37
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki