PHP code example of mad-tools / slim-controller

1. Go to this page and download the library: Download mad-tools/slim-controller library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

mad-tools / slim-controller example snippets



$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);



// запуск метода конкретного экшена
$this->createAction('action-name')->someMethod();

// создание саб-экшена
$this->createAction('action-name')->createAction('another-action');

// дергает другой модуль и действие в нем
$this->getController()->createModule('module-name')->createAction('action-name');