thinkphp修改路由的方法有兩種:1.在route.php檔案中使用rule()方法直接將news路由修改成article路由,程式碼為「rule('article','index/News /index')」;2、在控制器中動態定義路由規則,程式碼為「rule('news/:id', 'index/News/read')->model(['id' => ' id'])」。
本教學作業系統:Windows10系統、thinkphp6.1.2版本、Dell G3電腦。
在thinkphp中,我們可以透過定義路由規則來自訂URL位址和調度到對應的控制器方法。
要修改路由規則,有兩種方法可以使用:
1、在route.php檔案中直接修改,該檔案位於專案目錄下的/route目錄下。
以下是一個範例程式碼,在該程式碼中,我們將news路由修改成了article路由:
<?php use think\Route; // 修改/news路由规则为/article Route::rule('article','index/News/index');
以上程式碼呼叫了ThinkPHP提供的rule()方法,並傳遞路由URL和控制器方法的參數。注意點:
第一個參數表示路由URL位址後綴,例如這裡的article。
第二個參數表示該路由指向的控制器的路徑,例如這裡指向index/News/index。
2、在控制器中動態定義路由規則,此方法通常用於需要根據程式執行時間的變化動態產生路由規則。
以下是一個範例程式碼,其中透過定義一個閉包函數來動態產生路由規則:
<?php namespace app\index\controller; use think\Route; class Index { public function index() { // 动态生成路由规则 Route::rule('news/:id', 'index/News/read')->model(['id' => 'id']); return "动态路由规则生成成功"; } }
以上程式碼在存取Index 控制器的index 方法時,會動態地將news/:id 路由規則對應到index/News/read 控制器方法中,並且在參數綁定時使用模型綁定來自動產生SQL查詢語句。
以上是thinkphp修改路由的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!