ThinkPHP を使用した Web サイト開発のプロセスでは、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 アドレスを手動で結合すると、リスクや問題が発生する可能性があるため、実際のアプリケーションでは注意して使用する必要があることに注意してください。
つまり、上記の 2 つの方法は、ThinkPHP でバックスラッシュなしの URL アドレスを生成できます。特定のアプリケーションでは、実際の状況に基づいて適切な方法を選択して URL アドレスを生成できます。
以上がバックスラッシュなしで thinkphp URL を記述する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。