Kotchasan Framework Documentation

Kotchasan Framework Documentation

Kotchasan\Http\Router

EN 05 Feb 2026 06:23

Kotchasan\Http\Router

Router class handles URL routing to map URLs to Controllers.

Usage

use Kotchasan\Http\Router;

// Define routes
Router::map('/', 'Home\Index\Controller');
Router::map('/users', 'User\Index\Controller');
Router::map('/users/{id}', 'User\View\Controller');

Main Methods

map() / get() / post() / put() / delete()

Router::map($pattern, $controller);
Router::get('/api/users', 'Api\User\Controller@list');
Router::post('/api/users', 'Api\User\Controller@create');

group()

Router::group('/admin', function() {
    Router::map('/dashboard', 'Admin\Dashboard\Controller');
    Router::map('/users', 'Admin\Users\Controller');
});

Route Parameters

Router::map('/users/{id}', 'User\View\Controller');           // Required
Router::map('/posts/{year}/{month?}', 'Post\Archive\Controller');  // Optional
Router::map('/users/{id:\d+}', 'User\View\Controller');       // Regex

Example

RESTful API

Router::group('/api/v1', function() {
    Router::get('/products', 'Api\Product\Controller@list');
    Router::get('/products/{id}', 'Api\Product\Controller@show');
    Router::post('/products', 'Api\Product\Controller@create');
    Router::put('/products/{id}', 'Api\Product\Controller@update');
    Router::delete('/products/{id}', 'Api\Product\Controller@delete');
});