la classe Yaf_Controller_Abstract
(Yaf >=1.0.0)
Introduction
Yaf_Controller_Abstract est le coeur du système Yaf ; architecture MVC (pour Model-View-Controller) permettant de séparer la logique applicative de la logique d'affichage.
Tous les controlleurs personnalisés doivent hérités de la classe Yaf_Controller_Abstract.
Vous devriez vous apercevoir que vous ne pouvez pas définir de fonction __construct pour votre controlleur personnalisé, aussi, la classe Yaf_Controller_Abstract fournit une méthode magique pour cela : Yaf_Controller_Abstract::init().
Si vous avez défini une méthode init() dans votre controlleur personnalisé, elle sera appelée lors de l'instanciation de votre contrôleur.
Les actions peuvent avoir des arguments, lorsqu'une requête arrive, s'il y a la même variable dans les paramètres de la requête (voir Yaf_Request_Abstract::getParam()) après le routage, Yaf les passera à la méthode de l'action (voir la méthode Yaf_Action_Abstract::execute()).
Note:
Ces arguments sont directement récupérés sans filtrage ; il serait plus prudent de les analyser avant de les utiliser.
Synopsis de la classe
Propriétés
- actions
-
Vous pouvez aussi définir une méthode d'action dans un script PHP séparé en utilisant cette propriété et Yaf_Action_Abstract.
Exemple #1 Définission d'une action dans un fichier séparé
<?php
class IndexController extends Yaf_Controller_Abstract {
protected $actions = array(
/** maintenant dummyAction est défini dans un fichier séparé */
"dummy" => "actions/Dummy_action.php",
);
/* la méthode de l'action peut avoir des arguments */
public indexAction($name, $id) {
/* $name et $id sont des données brûtes non sécurisées */
assert($name == $this->getRequest()->getParam("name"));
assert($id == $this->_request->getParam("id"));
}
}
?>Exemple #2 Dummy_action.php
<?php
class DummyAction extends Yaf_Action_Abstract {
/* une classe d'action doit définir cette méthode comme point d'entrée */
public execute() {
}
}
?> - _module
-
Nom du module
- _name
-
Nom du contrôleur
- _request
-
L'objet de la requête courante
- _response
-
L'objet de la réponse courante
- _invoke_args
- _view
-
Le moteur de visualisation
Sommaire
- Yaf_Controller_Abstract::__clone — Yaf_Controller_Abstract ne peut être clôner
- Yaf_Controller_Abstract::__construct — Constructeur de Yaf_Controller_Abstract
- Yaf_Controller_Abstract::display — Le but de display
- Yaf_Controller_Abstract::forward — Transfère vers une autre action
- Yaf_Controller_Abstract::getInvokeArg — Le but de getInvokeArg
- Yaf_Controller_Abstract::getInvokeArgs — Le but de getInvokeArgs
- Yaf_Controller_Abstract::getModuleName — Récupère le nom du module
- Yaf_Controller_Abstract::getRequest — Récupère l'objet de la demande courante
- Yaf_Controller_Abstract::getResponse — Récupère l'objet de la réponse courante
- Yaf_Controller_Abstract::getView — Récupère le moteur de visualisation
- Yaf_Controller_Abstract::getViewpath — Le but de getViewpath
- Yaf_Controller_Abstract::init — Initialisation du contrôleur
- Yaf_Controller_Abstract::initView — Le but de initView
- Yaf_Controller_Abstract::redirect — Redirige vers une URL
- Yaf_Controller_Abstract::render — Affiche le rendu du template
- Yaf_Controller_Abstract::setViewpath — Le but de setViewpath
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-class.yaf-controller-abstract.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.