Skip to content

fobiaweb/Slim-Controller

Repository files navigation

Slim-Controller

Total Downloads Latest Stable Version

Installation

fobiaweb/Slim-Controller can be installed with Composer by adding it as a dependency to your project's composer.json file.

{
    "require": {
        "fobiaweb/slim-controller": "*"
    }
}

Please refer to Composer's documentation for more detailed installation and usage instructions.

Usage

Инициализация

<?php
$app = new \Slim\App();
$router = new \Slim\Controller\Router($app);
// ... router map
$router->run();

Маршрутизация запросов:

<?php
// традиционый
$router->get('/foo', function() {} );
// Создает объект класса MyController и вызывает метод по умолчанию
$router->get('/foo', 'MyController' );
// Создает объект класса MyController и вызывает метод actionOther
$router->get('/foo', 'MyController:actionOther' );
// Запускает функцию callable
$router->get('/foo', array($obj, 'method') );

Методы запросов маршрутизации

<?php
// GET /foo
$router->get('/foo', $callback );
// POST /foo
$router->post('/foo', $callback );
// PUT /foo
$router->put('/foo', $callback );
// DELETE /foo
$router->delete('/foo', $callback );
// GET, POST, PUT, HEAD, DELETE /foo
$router->any('/foo', $callback );

// GET /foo/bar
// GET /foo/baz
$router->group('/foo', function() use ($router) {
    $router->get('/bar', $callback);
    $router->get('/baz', $callback);
});

--

<?php
/**
 * Базовый url путь
 *
 * @param string  $url
 * @return string
 */
public function urlForBase($url = '')
{
    static $base_url = null;
    if ($base_url === null) {
        if ($this['router']->hasNamedRoute('base')) {
            $base_url = $this->urlFor('base');
        } else {
            $base_url = $this['request']->getScriptName();
        }
    }
    $url = $base_url . $url;
    return preg_replace('|/+|', '/', $url);
}

About

Slim Controller

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages