要在 CodeIgniter 4(以下簡稱 CI4)中設定網址(路由)規則可以透過以下方法:
設定路由 URI
開啟 app/Config/Routes.php 檔案,加入以下規則:
$routes->get('store', 'Store::index');
如此在網址 你的網域/store 的時候,就會讀取 Store Controller index() 的內容:
class Store extends Controller { public function index() { } }
也可以帶入變數去對應內容,像是在 Routes.php 加上這個規則:
$routes->add('store/(:alphanum)', 'Store::store/$1');
就會去抓 Store Controller store() 的內容,可以依據帶入的參數顯示內容:
public function store($code) { echo $code; }
:alphanum 是可以限制的參數格式,預設的有以下這些:
置換符號 | 描述 |
---|---|
(:any) | 會比對此段落到 URI 末端的所有字符。有可能會包含多 URI 段落。 |
(:segment) | 會比對任何除了被前斜線 (/)改變單一段落結構以外的字符。 |
(:num) | 會比對任何數字。 |
(:alpha) | 會比對任何由字母字符組合的字串。 |
(:alphanum) | 會比對任何由字母字符組合或數字的字串,又或者任何兩者的組合。 |
(:hash) | 與 (:segment) 相同,但又可以被用來輕鬆檢視哪些路由使用了散列值的 id。 |
CI4 也提供了自訂規則的設定方法,可以參考官方文件看更詳細內容。
參考:
URI路由設定