ホームページ  >  記事  >  PHPフレームワーク  >  バックスラッシュなしで thinkphp URL を記述する方法

バックスラッシュなしで thinkphp URL を記述する方法

PHPz
PHPzオリジナル
2023-04-11 15:05:23690ブラウズ

ThinkPHP を使用した Web サイト開発のプロセスでは、URL アドレス生成機能がよく使用されます。デフォルトでは、ThinkPHP は URL アドレスを生成するときに、コントローラー名とメソッド名の間にバックスラッシュを追加します。例:

// 生成 URL 地址
$url = url('Index/index');
echo $url;  // 输出:/index.php/Index/index.html

ただし、シナリオによっては、バックスラッシュ URL アドレスを使用せずにこれを行う必要がある場合があります。フロントエンドルーティングジャンプを実行するときなど。この記事では、ThinkPHP でバックスラッシュを含まない URL アドレスを生成する方法を紹介します。

方法 1: 構成ファイルを変更する

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 アドレスにはバックスラッシュが含まれていません。

方法 2: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。