之前提到可以透過路由與 Controller 的關係設定內容,而 CodeIgniter 4 也提供了命名路由可以讓路由更好管理。
像這樣在建立路由的時候透過 as 給定名稱:
$routes->get('/', 'Home::index', ['as' => 'home']);
本來我們要連到該網址是使用
<a href="/">Home</a>
便可改成:
<a href="<?= route_to('home') ?>">Home</a>
又如果是可以帶參數的路由:
// 路由被定義為: $routes->add('users/(:num)/gallery(:any)', 'Galleries::showUserGallery/$1/$2', ['as' => 'user_gallery']);
在超連結可以改成這樣:
<a href="<?= route_to('user_gallery', 15, 12) ?>">View Gallery</a>
有定義命名路由後,之後只要名稱不變,透過 route_to 可以連到修改過後的網址,是使用命名路由最主要的功用。