Web アプリケーションの開発では、URL ルーティングが重要な概念となり、アプリケーションの URL 構造がよりわかりやすく、使いやすくなりました。 PHP の Yii フレームワークなど、多くの一般的な Web フレームワークは、アプリケーションの URL をより適切に整理および管理するのに役立つルーティング機能を提供します。
Yii フレームワークでは、ルーティングとは、HTTP リクエストの URL アドレスを特定のアクションまたはコントローラー クラスにマッピングする操作を指します。ここでは、Yii フレームワークを使用して URL ルーティングを実装する方法を詳しく説明します。
ルーティングルール
Yii フレームワークでは、ルーティングルールとは、クライアントが要求した URL アドレスをコントローラクラスまたはアクションに変換する操作を指します。 Yii フレームワークは、配列で構成されるルーティング テーブルを通じてすべてのルーティング ルールを管理し、各配列要素がルーティング ルールになります。
Yii フレームワークは、次のタイプを含む豊富なルーティング ルールを提供します:
ルーティング ルールを作成する
Yii では、ルーティング ルールを記述することで、URL アドレスをコントローラのオペレーションまたはアクションに変換できます。ルーティング ルールの作成方法は比較的簡単で、ルーティング テーブルにルーティング ルールを追加する必要があります。以下は、「/site/index」を SiteController クラスの Index() アクションにルーティングする例です。
[ 'site/index' => 'site/index', ]
この例では、リクエスト「/site/index」という固定ルーティング ルールを定義します。 " " は、SiteController クラスの Index() アクションを呼び出します。
動的ルーティング ルール
動的ルーティング ルールを使用すると、URL パスの一部をアクション パラメータに変換できます。たとえば、「post/1ae845aa4984539391bc1a58ac88f77f」は、URL の ID パラメータを PostController クラスの view() アクションにマップします。ルーティング テーブルに特定のパラメータ形式を指定して、不正なリクエストをフィルタリングできます。
次は、動的ルーティング ルールの使用例です:
[ 'post/<id:d+>' => 'post/view', ]
この例では、動的ルーティング ルールを定義します。つまり、URL の "id" パラメータが抽出され、渡された PostController クラスの view() メソッドに移動します。この例では、「1ae845aa4984539391bc1a58ac88f77f」は 1 つ以上の数値と一致する正規表現を指定します。
正規表現ルーティング ルール
Yii フレームワークでは、正規表現を使用して URL を照合し、特定の URL アドレスをより正確に照合できます。たとえば、「/425b3eb620b5a26c10f58336f0e9ea6a」ルーティング ルールを使用して、長さが 3 文字のすべての ID リクエストを特定の処理アクションにルーティングできます。
次は正規表現ルーティング ルールの使用例です:
[ '/<id:w{3}>' => 'site/page', ]
この例では、「/425b3eb620b5a26c10f58336f0e9ea6a」ルーティング ルールは 3 つの任意の単語と一致します。文字長の文字列を取得し、それを SiteController の page() メソッドにルーティングします。正規表現ルーティング ルールを使用すると、より柔軟でカスタマイズ可能な方法でアプリケーションの URL 構造を管理および編成できます。
RESTful ルーティング ルール
Yii フレームワークでは、RESTful ルーティング ルールにより、一連の高速ルーティング ルールを使用して、複雑な URL 構造とアクション リクエストを処理できます。 RESTful ルーティング ルールを使用すると、標準アクションを URL ベースのリクエストにマッピングし、アプリケーションを効率的に管理できます。
次に、RESTful ルーティング ルールの使用例を示します。
[ 'POST /post' => 'post/create', 'GET /post/<id:d+>' => 'post/view', 'PUT /post/<id:d+>' => 'post/update', 'DELETE /post/<id:d+>' => 'post/delete', ];
この例では、「POST /post」ルーティング ルールが PostController の create() メソッドにマップされます。 「GET /post/1ae845aa4984539391bc1a58ac88f77f」は、PostController の view() メソッドで使用される ID パラメーターと一致します。同様に、「PUT /post/
結論
Yii フレームワークでは、ルーティングは URL を特定のアクションまたはコントローラー クラスにマッピングするメカニズムを提供するため、高パフォーマンスのアプリケーションを構築するための重要な要素の 1 つとなります。ルーティング ルールにより、URL が読みやすく保守しやすくなり、アプリケーションの管理と編成が向上します。 Yii フレームワークを実際に使用する場合、アプリケーションのニーズに応じてさまざまなタイプのルーティング ルールを選択し、アプリケーションと URL 構造の整合性と信頼性を確保できます。
以上がPHPでURLルーティングにYiiルーティングを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。