Kotchasan Framework Documentation
Kotchasan\Http\Router
Kotchasan\Http\Router
Router class จัดการ URL routing เพื่อ map URLs ไปยัง Controllers
การใช้งาน
use Kotchasan\Http\Router;
// กำหนด routes
Router::map('/', 'Home\Index\Controller');
Router::map('/users', 'User\Index\Controller');
Router::map('/users/{id}', 'User\View\Controller');เมธอดหลัก
map()
Router::map($pattern, $controller);get() / post() / put() / delete()
Router::get('/api/users', 'Api\User\Controller@list');
Router::post('/api/users', 'Api\User\Controller@create');
Router::put('/api/users/{id}', 'Api\User\Controller@update');
Router::delete('/api/users/{id}', 'Api\User\Controller@delete');group()
Router::group('/admin', function() {
Router::map('/dashboard', 'Admin\Dashboard\Controller');
Router::map('/users', 'Admin\Users\Controller');
});Route Parameters
// Required parameter
Router::map('/users/{id}', 'User\View\Controller');
// Optional parameter
Router::map('/posts/{year}/{month?}', 'Post\Archive\Controller');
// Regex constraint
Router::map('/users/{id:\d+}', 'User\View\Controller'); // id ต้องเป็นตัวเลขตัวอย่าง
RESTful API Routes
Router::group('/api/v1', function() {
// Products
Router::get('/products', 'Api\Product\Controller@list');
Router::get('/products/{id:\d+}', 'Api\Product\Controller@show');
Router::post('/products', 'Api\Product\Controller@create');
Router::put('/products/{id:\d+}', 'Api\Product\Controller@update');
Router::delete('/products/{id:\d+}', 'Api\Product\Controller@delete');
// Categories
Router::get('/categories', 'Api\Category\Controller@list');
});Module-based Routing
// routes/web.php
Router::map('/', 'Home\Index\Controller');
Router::map('/about', 'Page\About\Controller');
Router::map('/contact', 'Page\Contact\Controller');
// Admin routes
Router::group('/admin', function() {
Router::map('/', 'Admin\Dashboard\Controller');
Router::map('/users', 'Admin\Users\Controller');
Router::map('/settings', 'Admin\Settings\Controller');
});Access Route Parameters
// Controller
public function render(Request $request)
{
// /users/123 -> Router::map('/users/{id}', ...)
$userId = $request->get('id')->toInt();
}