ホームページ >PHPフレームワーク >YII >Yii フレームワークでのルーティング設定: URL の美化

Yii フレームワークでのルーティング設定: URL の美化

WBOY
WBOYオリジナル
2023-06-21 15:59:001276ブラウズ

インターネットの急速な発展に伴い、人々の Web サイト使用体験はますます向上しています。その中でも、URLの形式はユーザーにとってWebサイトの品質を判断する重要な要素となりつつあります。 URL の美化のために、Yii フレームワークはさまざまなルーティング設定ソリューションを提供します。この記事では、Yii フレームワークでのルーティング設定と URL 整形の実装方法に焦点を当てます。

1. ルーティング設定の基本

ルーティングとは、リクエストの特定の処理を実現するために、リクエストされた URL アドレスを特定のコントローラーおよびメソッドにマッピングすることを指します。 Yii フレームワークでは、ルーティング設定は URL マネージャー (UrlManager) を通じて完了します。 URL マネージャーは、次のようにアプリケーションの設定ファイルの config フォルダーにあります。

'components' => [
    'urlManager' => [
        'class' => 'yiiwebUrlManager',
        'enablePrettyUrl' => true,
        'showScriptName' => false,
        'rules' => [
            // ...
        ],
    ],
],

このうち、enablePrettyUrl は、整化された URL を有効にするかどうかを示し、 に設定することをお勧めします。 true; showScriptName は、URL にスクリプト ファイル名 (index.php など) を表示するかどうかを示します。 URLの美しさ。 2. 静的ルーティング

静的ルーティングとは、特定の URL アドレスをコントローラーおよびメソッドに直接マッピングできることを意味します。たとえば、

index.php?r=site/about

などの URL アドレスを about に静的に変換し、「http://yourdomain.com/」と直接入力できます。 Just aboutにアクセスするとき。 Yii フレームワークでは、静的ルーティングを実装する方法は次のとおりです。

'rules' => [
    'about' => 'site/about',
],

ここで、

about

はマッピングされた URL アドレス、site/about## を表します。 # は特定のコントローラーとメソッドを表します。 3. 動的ルーティング

動的ルーティングとは、パラメータを持つ URL アドレスをコントローラやメソッドにマッピングし、パラメータを介してデータを渡すことを指します。たとえば、

index.php?r=site/view&id=1

などの URL アドレスを

view/1 に動的に変換し、「http://」と直接入力できます。アクセスするときは、yourdomain.com/view/1 で十分です。 Yii フレームワークでは、動的ルーティングを実装する方法は次のとおりです。

'rules' => [
    'view/<id:d+>' => 'site/view',
],

ここでの

view/1ae845aa4984539391bc1a58ac88f77f

は、マップされた URL アドレスを表します。ここで、

id はパラメータ名、d は数値に一致する正規表現、site/view は特定のコントローラーとメソッドを表します。 4. 高度なルーティング

高度なルーティングは、静的および動的ルーティングの拡張であり、より複雑な URL マッピングを実現できます。たとえば、

index.php?r=user/profile

などの URL アドレスを

profile/username に変換し、http://yourdomain.com と直接入力できます。 /profile/admin にアクセスするだけで十分です。 Yii フレームワークでは、高度なルーティングを実装するメソッドは次のとおりです:

'rules' => [
    [
        'class' => 'yiiwebUrlRule',
        'pattern' => 'profile/<username:w+>',
        'route' => 'user/profile',
        'suffix' => '',
    ],
],

'class' => 'yiiwebUrlRule'

は、高度なルーティングを使用していることを意味します

'pattern' => 'profile/6e0dc223abbbf8f488db15a7a4fa2ebb' は URL アドレスの一致ルールを表し、6e0dc223abbbf8f488db15a7a4fa2ebb は URL アドレスの一致ルールを表します。パラメータ名と正規表現、'route' => 'user/profile' は特定のコントローラとメソッドを表します、'suffix' => '' は追加の文字を表しますURLアドレスの末尾。 まとめ

上記の紹介を通じて、Yii フレームワークにおけるルーティング設定の基本的な方法とその違いを理解することができます。ただし、ルーティングを構成するときは、URL アドレスの美しさと読みやすさに注意を払い、基礎となるコントローラーとメソッドを適切に調整する必要があります。この 2 つの側面のバランスを達成することによってのみ、Web サイトの URL アドレスをさまざまなシナリオで特定のコントローラーおよびメソッドに適切にマッピングできるようになり、Web サイトのエクスペリエンスが向上します。

以上がYii フレームワークでのルーティング設定: URL の美化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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