web-dev-qa-db-ja.com

Yiiでパラメータなしで現在のURLを取得するにはどうすればよいですか?

Yiiを使っています。
私のURLがhttp://localhost/evengee/event/page/id/2/sfn+master/?tab=3の場合私の実際のURL(ファイルパス)はhttp://localhost/evengeeのみです
できれば次のビューで取得するにはどうすればよいですか。

  1. 完全なURLhttp://localhost/evengee/event/page/id/2/sfn+master/?tab=3
  2. 明示的なパラメータのないURLhttp://localhost/evengee/event/page/id/2/sfn+master/

Str_replaceを?で分割/展開できることはわかっています。 $ _SERVERを使用します。 Yiiネイティブメソッドを使用することをお勧めします。

12

ために:

  • 完全なURL(_http://localhost/even/page/id/2/?t=3_)use Yii::app()->request->getUrl()

  • パラメータのないURL(_http://localhost/even/page/id/2/_ use Yii::app()->request->getPathInfo()

2つ目は、スキーマ、サーバー、クエリ文字列を含まないURLを提供します。これで十分なようです。

18

完全なURLを取得するには、CHttpRequestgetRequestUrl()Yii::app()->request->getRequestUrl();メソッドを使用します

現在のページのコントローラー、モジュール、およびアクション名は、CApplicationメソッドYii::app()->getController()->id; //gets you the controller idから取得できます。

Yii::app()->getController()->getAction()->id; //gets you the action id

CApplicationのbaseURLプロパティを使用してURLをつなぎ合わせることができます

Yii::app()->baseURL

4
Ben

私が見つけた最良かつより短い方法は次のとおりです。

Yii::app()->createAbsoluteUrl(Yii::app()->request->getPathInfo());

OR

$this->createAbsoluteUrl(Yii::app()->request->getPathInfo());

0
Neeraj