Skip to content

Repository files navigation

Маршрутизация

Маршуты объявляются с помощью компонента Core\Components\Router\Router; Компонент текущего приложения получается:

/*** 1 способ*/useCore\Facades\Router;
$router = Router::component();
/*** 2 способ*/useCore\Application;
$router = Application::getInstance()->getComponent(\Core\Components\Router\Router::class);

Методы для регистрации:

// GET маршрут$router->get('/path', \Core\Controllers\Api\v1\IndexController::class, 'index');
// POST маршрут$router->post('/path', \Core\Controllers\Api\v1\IndexController::class, 'index');
// PUT маршрут$router->put('/path', \Core\Controllers\Api\v1\IndexController::class, 'index');
// PATCH маршрут$router->patch('/path', \Core\Controllers\Api\v1\IndexController::class, 'index');
// DELETE маршрут$router->delete('/path', \Core\Controllers\Api\v1\IndexController::class, 'index');
// Ресурс$router->resource('resourceName', \Core\Controllers\Api\v1\IndexController::class);
/*** Ресурс создает автоматически маршруты*/$router->get('/resourceName', \Core\Controllers\Api\v1\IndexController::class, 'index');
$router->get('/resourceName/{id}', \Core\Controllers\Api\v1\IndexController::class, 'show');
$router->post('/resourceName', \Core\Controllers\Api\v1\IndexController::class, 'create');
$router->patch('/resourceName/{id}', \Core\Controllers\Api\v1\IndexController::class, 'edit');
$router->delete('/resourceName/{id}', \Core\Controllers\Api\v1\IndexController::class, 'delete');
/****/// Группа маршрутов$router->group($options, function() {});
// Запасной маршрут$router->fallback(\Core\Controllers\Api\v1\IndexController::class, 'fallbackMethod);

Параметры маршрутов:

$router->get('/user/{id}/account/{name}', \Core\Controllers\Api\v1\IndexController::class, 'index', [
'patterns' => [
'id' => '\d+',
'name' => '.*'
]
  • patterns - паттерны для проверки параметров

Параметры группы маршрутов:

// Префикс маршрутов$router->group(['prefix' => 'api'], function() {
//Маршрут GET api/path$router->get('/path', \Core\Controllers\Api\v1\IndexController::class, 'index');
});

Параметы передаются в вызываемый метод контроллера в порядке следования в маршруте.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages