ホームページ >バックエンド開発 >PHPチュートリアル >Joomla のヒント: Joomla\Uri\Uri クラスを使用して URL を作成します。

Joomla のヒント: Joomla\Uri\Uri クラスを使用して URL を作成します。

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-16 20:17:10333ブラウズ

Joomla tip: Use the JoomlaUriUri class to create a URL.

コードで URL を構築する場合、文字列の連結を使用してすべての文字列を収集できます。

<code class="language-php">$url = $domain.'/index.php?option='.$option.'&view='.$view.'&param1='.$value1;</code>

このアプローチは、短い文字列にも便利です。ただし、パラメーターが多数ある場合や、プロセス内で標準化/クリーンアップする必要がある場合は、それほど便利で直感的ではありません。たとえば、URL の一部に先頭のスラッシュ (URL フラグメントの先頭のスラッシュ) が含まれている可能性があり、リクエストの受信ドメイン名もスラッシュで終わる可能性があるため、どこかに二重スラッシュが含まれる不正な URL が得られます。真ん中に……

URL 取得タスクを標準化および統合するために、Joomla は JoomlaUriUri クラスを提供します。 Joomla 1.6 以前では、Juri と呼ばれていました。このクラスは、RFC3986 標準に従って URL を処理し、URL のさまざまな部分から解析または組み立てを行います。

例: URL から特定のパラメーターを取得します

<code class="language-php">use Joomla\Uri\Uri;

$url = 'https://web-tolk.ru/dev/biblioteki?param=value';
$uri = new Uri($url);
// 此处输出'value'
echo $uri->getVar('param');</code>

「はい、ネイティブ PHP 関数 parse_url はあります...」と思われるかもしれませんが、Uri クラスは、キリル文字ドメイン名を含む URL 内の UTF-8 文字に対する安全な操作を保証します。さまざまなチェックを自分で作成することを避けるために、Joomla のコア機能を使用できます。

Joomla コードで必要な URL を構築する方法

ここでも非常に簡単です:

<code class="language-php">use Joomla\Uri\Uri;

$uri = new Uri;
$uri->setHost('web-tolk.ru');
$uri->setScheme('https');
// setPath()以前导斜杠开头
$uri->setPath('/dev/biblioteki');
// GET参数可以作为数组传递
$vars = [
        'param1' => 'value1',
        'param2' => 'value2',
        'param3' => 'value3',
];
$uri->setQuery($vars);
// 将URL作为字符串输出
echo $uri->toString();</code>

Joomla の Uri クラスの階層構造は、AbstractUri クラスに getter メソッドが配置され、Uri クラスに setter メソッドが配置されるように設計されています。 setter メソッドは、libraries/vendor/joomla/uri/src/Uri.php ファイルで確認できます。 getter メソッドは、libraries/vendor/joomla/uri/src/AbstractUri.php ファイルで確認できます。

PHPStorm を使用すると、PHPStorm は Joomla を完全に理解し、必要なことをすべて教えてくれます。

古いドキュメント ページを参照できます。このページは現在でも大部分が適用可能であり、名前空間の使用に合わせて調整されています。

URI 構造:

<code>     foo://example.com:8042/over/there?name=ferret#nose
     \_/   \______________/\_________/ \_________/ \__/
      |           |            |            |        |
   scheme     authority       path        query   fragment</code>

Joomla コミュニティ リソース

以上がJoomla のヒント: Joomla\Uri\Uri クラスを使用して URL を作成します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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