mad-tools/slim-controller
Composer 安装命令:
composer require mad-tools/slim-controller
包简介
README 文档
README
Набор компонентов, позволяющих полноценно использовать Контроллеры в Slim. Присутствует некое подобие HMVC так как можно дергать модуль внутри модуля и тому подобное. Что позволяет использовать некоторые методы конкретных действий внутри других действий.
Как это работает
Инициализация
$slim = new \Slim\Slim(); $app = new \SlimController\Controller($slim); $app->add_command('/set/:aaa/', "main::main"); $app->add_route('/test/:a/:b/', function($a, $b) { var_dump($a, $b); }); $app->add_route('/', 'main::index'); /** * Формирование модуля * По сути, тут и определяется как и где лежат модули */ $app->registerModuleDispatcherCallback(function($module_name, $controller) { $class_name = sprintf('\Modules\%s\Module%s', ucfirst($module_name), ucfirst($module_name)); return new $class_name($controller); }); // запуск приложения // определение консольный запуск или же из под апача $mode = (!isset($_SERVER['HTTP_HOST'])) ? \SlimController\Controller::MODE_CLI : \SlimController\Controller::MODE_WEB; $app->run($mode);
Использование
Теперь внутри модуля уже можно использовать экшены они же действия.
Более подробный пример можно посмотреть в папке с примерами examples. Рассматриваются базовые действия.
// запуск метода конкретного экшена $this->createAction('action-name')->someMethod(); // создание саб-экшена $this->createAction('action-name')->createAction('another-action'); // дергает другой модуль и действие в нем $this->getController()->createModule('module-name')->createAction('action-name');
Доступны как консольные роуты так и роуты в web. Консольные строятся на базе роутера Slim {via('CONSOLE')} что позволяет им игнорироваться при обходе web роутов и наоборот рассматриваться в случае запуска из-под консоли.
Установка
{
"require": {
"mad-tools/slim-controller": "dev-master"
}
}
统计信息
- 总下载量: 59
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2014-08-08