在使用 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 地址已經沒有反斜杠了。
立即學習“PHP免費學習筆記(深入)”;
方法二:手動拼接 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 地址。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END