本文整理汇总了PHP中ControllerFactory::createController方法的典型用法代码示例。如果您正苦于以下问题:PHP ControllerFactory::createController方法的具体用法?PHP ControllerFactory::createController怎么用?PHP ControllerFactory::createController使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ControllerFactory
的用法示例。
在下文中一共展示了ControllerFactory::createController方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
public function run()
{
//Nécessaire pour l'affichage de la vue
include_once 'Models/Template.php';
include_once 'Models/Model.php';
include_once 'functions.php';
//Création de controlleur----------------------------
include_once 'Controllers/ControllerFactory.php';
$controller = ControllerFactory::createController();
//On lance l'action
$action = self::getInstance()->getActionName($controller);
$controller->{$action}();
}
示例2: run
/** Lance le serveur */
function run()
{
// racine du serveur a enregistrer qq part (pour l'instant ici)
$root = '/blogmarks/servers/atom';
// On construit le tableau d'arguments pour les filtres
$args = array();
// on extrait l'URI relative
$uri = $_SERVER['REQUEST_URI'];
//***** DEBUG echo $uri."<br/>".$root;
$uri = ereg_replace($root, '', $uri);
$args['uri'] = $uri;
$args['method'] = $_SERVER['REQUEST_METHOD'];
$args['content'] = $_GLOBALS['HTTP_RAW_POST_DATA'];
// On filtre la requête
$filter = new FilterChainRoot(array(new ContextBuilderFilter(), new AuthenticateFilter()));
$ret = $filter->execute(&$args);
if (BlogMarks::isError($ret)) {
// erreur de filtre
echo $ret->getMessage();
return;
}
// **** DEBUG
echo "objet : " . $args['object'] . "<br/>";
echo "method : " . $args['method'] . "<br/>";
echo "tag : " . $args['tag'] . "<br/>";
echo "user : " . $args['user'] . "<br/>";
echo "id : " . $args['id'] . "<br/>";
echo "auth_str :" . $args['auth_str'] . "<br/>";
// **********
// On construit le controlleur selon le type d'objet de la requête
$ctrlerFactory = new ControllerFactory();
$ctrler = $ctrlerFactory->createController($args['object']);
if (BlogMarks::isError($ctrler)) {
echo $ctrler->getMessage();
exit(1);
}
// On lance le controlleur pour l'objet de la requête
$response = $ctrler->execute($args);
if (BlogMarks::isError($response)) {
// erreur du controlleur de requête
return;
}
// On applique le renderer atom a la reponse et on la renvoit
$rendererFactory = new rendererFactory();
$renderer = $rendererFactory->createRenderer($args['object']);
// GERER LA REPONSE HTTP
echo "HTTP/1.1 200 Ok\n";
$response->accept($renderer);
echo $renderer->render();
}