$app = new \Slim\App();
$app->group('/users/{id:[0-9]+}', function () {
$this->map(['GET', 'DELETE', 'PATCH', 'PUT'], '', function ($request, $response, $args) {
// Find, delete, patch or replace user identified by $args['id']
})->setName('user');
$this->get('/reset-password', function ($request, $response, $args) {
// Route for /users/{id:[0-9]+}/reset-password
// Reset the password for user identified by $args['id']
})->setName('user-password-reset');
});
ตัวอย่างโค้ดที่จะแปลง array เป็น callback class Code (PHP)
foreach ($routes as $path => $routeArgs) {
if (isset($routeArgs[0]) && is_array($routeArgs[0])) {
// if this is route groups.
global $aaa;
$aaa = $routeArgs[0];
call_user_func([$App, 'group'], $path, function() {
global $aaa;
foreach ($aaa as $each_group_path => $each_group_args) {
call_user_func([$this, $each_group_args[0]], $each_group_path, $each_group_args[1]);
}// endforeach;
});
} else {
// if this is NOT route groups.
}
}// endforeach;
unset($path, $routeArgs);
ทีนี้คือมันไม่สำเร็จ มันกลายเป็น not found เนื่องจากเหมือนกำหนดไม่ถูก แต่ถ้าเขียนตรงๆลงไป เช่นตย.นี้ดันเรียกเจอ Code (PHP)