在使用 ThinkPHP 進行網站開發的過程中,常會用到 URL 位址產生功能。預設情況下,ThinkPHP 在產生URL 位址時會在控制器名稱和方法名稱之間添加一個反斜杠,例如:
// 生成 URL 地址 $url = url('Index/index'); echo $url; // 输出:/index.php/Index/index.html
但是,在某些場景中,我們可能需要不帶反斜杠的URL 位址,例如在進行前端路由跳轉時。本文將介紹如何在 ThinkPHP 中產生不含反斜線的 URL 位址。
我們可以透過修改 ThinkPHP 的設定檔來實作 URL 位址不帶反斜線。在 config.php
設定檔中,找到 url_common_param
項,將其設為 false 即可。範例程式碼如下:
// 关闭默认URL模式中控制器与操作之间的分隔符“/” 'url_common_param' => false,
修改完畢後,我們可以重新產生 URL 位址測試一下:
// 生成 URL 地址 $url = url('Index/index'); echo $url; // 输出:/index.phpIndexindex.html
可以看到,此時產生的 URL 位址已經沒有反斜線了。
除了修改設定檔外,我們還可以透過手動拼接 URL 位址來實現不含反斜線的效果。範例程式碼如下:
// 获取当前请求的根URL地址 $baseUrl = request()->root(true); // 获取控制器名和方法名 $controller = request()->controller(); $action = request()->action(); // 拼接URL地址 $url = $baseUrl . '/' . $controller . $action; echo $url;
透過以上程式碼,我們可以手動拼接出不含反斜線的 URL 位址。需要注意的是,手動拼接 URL 位址可能會帶來一些風險和問題,因此在實際應用中需要謹慎使用。
總之,以上兩種方法都可以實現在 ThinkPHP 中產生不帶反斜線的 URL 位址。在具體應用中,我們可以根據實際情況選擇合適的方式來產生 URL 位址。
以上是thinkphp url怎麼寫成不含反斜杠的詳細內容。更多資訊請關注PHP中文網其他相關文章!