ホームページ バックエンド開発 PHPチュートリアル PHPでURLルーティングにYiiルーティングを使用するにはどうすればよいですか?

PHPでURLルーティングにYiiルーティングを使用するにはどうすればよいですか?

Jun 04, 2023 pm 01:40 PM
php yii ルーティング

Web アプリケーションの開発では、URL ルーティングが重要な概念となり、アプリケーションの URL 構造がよりわかりやすく、使いやすくなりました。 PHP の Yii フレームワークなど、多くの一般的な Web フレームワークは、アプリケーションの URL をより適切に整理および管理するのに役立つルーティング機能を提供します。

Yii フレームワークでは、ルーティングとは、HTTP リクエストの URL アドレスを特定のアクションまたはコントローラー クラスにマッピングする操作を指します。ここでは、Yii フレームワークを使用して URL ルーティングを実装する方法を詳しく説明します。

ルーティングルール

Yii フレームワークでは、ルーティングルールとは、クライアントが要求した URL アドレスをコントローラクラスまたはアクションに変換する操作を指します。 Yii フレームワークは、配列で構成されるルーティング テーブルを通じてすべてのルーティング ルールを管理し、各配列要素がルーティング ルールになります。

Yii フレームワークは、次のタイプを含む豊富なルーティング ルールを提供します:

  • 固定ルーティング ルール: 固定ルーティング ルールは、「/site/index」などの特定の URL アドレスを指定します。 " は、SiteController クラスの Index() アクションにマップされます。
  • 動的ルーティング ルール: プレースホルダーを介して、URL パスの一部をアクション パラメーターに動的に変換します。たとえば、「post/」は PostController クラスの view() アクションにマップされます。
  • 正規表現ルーティング ルール: 正規表現を使用して URL を照合するルート。これにより、URL がより柔軟で構成可能になります。たとえば、「/」は、 3 文字の長さの ID 値。
  • RESTful ルーティング ルール: RESTful スタイルの URL ルーティングに基づいて、単純な URL アドレスを複雑な操作に変換できます。たとえば、「POST /post」は PostController クラスの create() アクションにマップされます。

ルーティング ルールを作成する

Yii では、ルーティング ルールを記述することで、URL アドレスをコントローラのオペレーションまたはアクションに変換できます。ルーティング ルールの作成方法は比較的簡単で、ルーティング テーブルにルーティング ルールを追加する必要があります。以下は、「/site/index」を SiteController クラスの Index() アクションにルーティングする例です。

[
    'site/index' => 'site/index',
]
ログイン後にコピー

この例では、リクエスト「/site/index」という固定ルーティング ルールを定義します。 " " は、SiteController クラスの Index() アクションを呼び出します。

動的ルーティング ルール

動的ルーティング ルールを使用すると、URL パスの一部をアクション パラメータに変換できます。たとえば、「post/」は、URL の ID パラメータを PostController クラスの view() アクションにマップします。ルーティング テーブルに特定のパラメータ形式を指定して、不正なリクエストをフィルタリングできます。

次は、動的ルーティング ルールの使用例です:

[
    'post/<id:d+>' => 'post/view',
]
ログイン後にコピー

この例では、動的ルーティング ルールを定義します。つまり、URL の "id" パラメータが抽出され、渡された PostController クラスの view() メソッドに移動します。この例では、「」は 1 つ以上の数値と一致する正規表現を指定します。

正規表現ルーティング ルール

Yii フレームワークでは、正規表現を使用して URL を照合し、特定の URL アドレスをより正確に照合できます。たとえば、「/」ルーティング ルールを使用して、長さが 3 文字のすべての ID リクエストを特定の処理アクションにルーティングできます。

次は正規表現ルーティング ルールの使用例です:

[
    '/<id:w{3}>' => 'site/page',
]
ログイン後にコピー

この例では、「/」ルーティング ルールは 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/」は、PostController の view() メソッドで使用される ID パラメーターと一致します。同様に、「PUT /post/」は PostController クラスの update() メソッドにルーティングされ、「DELETE /post/」は delete( ) PostController クラスのメソッド。

結論

Yii フレームワークでは、ルーティングは URL を特定のアクションまたはコントローラー クラスにマッピングするメカニズムを提供するため、高パフォーマンスのアプリケーションを構築するための重要な要素の 1 つとなります。ルーティング ルールにより、URL が読みやすく保守しやすくなり、アプリケーションの管理と編成が向上します。 Yii フレームワークを実際に使用する場合、アプリケーションのニーズに応じてさまざまなタイプのルーティング ルールを選択し、アプリケーションと URL 構造の整合性と信頼性を確保できます。

以上がPHPでURLルーティングにYiiルーティングを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles