ホームページ > php教程 > php手册 > Yii フレームワークの URL 解析の問題

Yii フレームワークの URL 解析の問題

WBOY
リリース: 2016-06-21 08:49:05
オリジナル
1125 人が閲覧しました

まず、config/main.php で urlManager を設定しない場合、プロセスは次のようになります (yii 公式 Web サイトから引用)

ユーザーが URL http://www.example.com/index.php?r=post/show&id=1 にアクセスするリクエストを行うと、Web サーバーはエントリ スクリプトindex.php を実行してこのリクエストを処理します。

エントリ スクリプトはアプリケーション インスタンスを作成して実行します。

アプリケーションは、リクエストと呼ばれるアプリケーションコンポーネントからユーザーのリクエストの詳細を取得します。

アプリケーションは、urlManager と呼ばれるアプリケーション コンポーネントを利用して、要求されたコントローラーとアクションを決定します。この例では、コントローラーは PostController クラスを表し、アクションは show であり、その実際の意味はコントローラーによって決まります。

アプリケーションは、ユーザー要求をさらに処理するために、要求されたコントローラーのインスタンスを作成します。コントローラーは、アクション ショーがコントローラー クラスの actionShow という名前のメソッドを指していると判断します。次に、アクション (アクセス制御、ベンチマークなど) に関連付けられたフィルターを作成して維持します。フィルターで許可されている場合、アクションが実行されます。

アクションはデータベースから ID 1 の Post モデルを読み取ります。

アクションは、Post モデルを通じて show という名前のビューをレンダリングします。

ビューは、Post モデルのプロパティを読み取り、表示します。

ビューはいくつかのウィジェットを実行します。

ビューのレンダリング結果がレイアウトに挿入されます。

アクションはビューのレンダリングを完了し、ユーザーに表示します。

ただし、urlManager を次のように構成した場合:

'urlManager'=>array(

'urlFormat'=>'パス',

'ルール'=>array(

'/'=>'/index',

'/'=>'/',

'//'=>'/',

)、

)、

したがって、http://www.example.com/index.php?r=post/show&id=1 に直接アクセスして show アクションの結果を取得することはできません。まず、このリクエストはdefaultControllerのindexActionに渡されて処理されます。defaultControllerがPostControlerでない場合は混乱するかもしれません。その場合は、showAction の代わりに、indexAction の内容が返されます。

実際、これへのアクセスは非常に簡単で、http://www.example.com/index.php/post/show?id=1

だけです。

urlManager が / の形式で設定されているため



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート