ホームページ  >  記事  >  バックエンド開発  >  Yii コントローラーアクションパラメーターバインディング処理_PHP チュートリアル

Yii コントローラーアクションパラメーターバインディング処理_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:57:40891ブラウズ

Yii コントローラーアクションパラメータバインディング処理

バージョン 1.1.4 以降、Yii は自動アクションパラメータバインディングのサポートを提供します。つまり、コントローラーアクションは名前付きパラメーターを定義でき、その値は Yii によって $_GET から自動的に設定されます。

この機能を詳しく説明するために、PostController の作成アクションを記述する必要があると仮定しましょう。このアクションでは、$_GET 経由で 2 つのパラメーターを渡す必要があります:

category: 投稿が公開されるカテゴリーの ID を表す整数。

language: 投稿で使用される言語コードを表す文字列。

$_GET からパラメータを抽出するときに、次のような関連する検証コードを記述することができなくなりました:

リーリー

アクションパラメータ関数を使用することで、上記のコードに関連するタスクをより簡単に完了できます:

リーリー

アクション メソッド actionCreate に 2 つのパラメーターを追加したことに注意してください。これらのパラメータの名前は、$_GET から抽出する名前と一致する必要があります。ユーザーがリクエストで $ language パラメータを指定しない場合、このパラメータはデフォルト値 en を使用します。 $category にはデフォルト値がないため、ユーザーが $_GET で category パラメータを指定しないと、CHttpException (エラー コード 400) が自動的にスローされます。

バージョン 1.1.5 以降、Yii はすでに配列アクションパラメータをサポートしています。使用方法:

class PostController extends CController{
	public function actionCreate(){
		if(isset($_GET['category']))
			$category=(int)$_GET['category'];
		else
			throw new CHttpException(404,'invalid request');
		if(isset($_GET['language']))
			$language=$_GET['language'];
		else
			$language='en';
		// ......
	}
}

興味がありそうな記事

  • CuteFTP が FTP サーバーに接続すると「無効なパラメーターが発生しました」エラーが表示される場合の解決策
  • Linux chmod (ファイルまたはフォルダーのアクセス許可設定) コマンドのパラメーターと使用方法の詳細な説明
  • thinkphp まとめアクション コントローラーのシステム定数の変更
  • JavaScript ブラウザーのアドレス バーの特殊効果: 無敵のホット ホイールの特殊効果
  • jQuery によって制御される左右のスクロールに基づく、自動スクロール効果
  • (レジストリ内の) 構成情報が不完全であるため、またはが破損しているため、Windows はこのハードウェア デバイスを起動できません。 (コード 19) 解決策
  • 現在の完全な URL アドレスとパラメータを取得する JavaScript メソッド
  • SQL インジェクションを防ぐためにブラウザのパラメータをチェックする PHP 関数

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/980453.html技術記事 Yii コントローラのアクションパラメータバインド処理 バージョン 1.1.4 以降、Yii は自動アクションパラメータバインディングのサポートを提供します。つまり、コントローラーのアクションは名前付きパラメーターを定義でき、その値は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。