mad-tools/slim-controller 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2014-08-08

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固