WinRoadのLaravel4初心者講座

次世代PHPフレームワークのLaravel4を初心者向けに解説して参ります。

Winroad徒然草の管理人がお届けします
複数代入とは

FAQ

複数代入とは

このエントリーをはてなブックマークに追加

複数代入とは、配列を指定することでキーと同じ名前のインスタンスのプロパティーに値を代入してくれる機能です。

Laravelでは、新しいモデルを作成するときに、モデルのコンストラクターに属性の配列を渡します。それらの属性は、複数代入として(ユーザーが渡した同じ名前の配列のキーとインスタンスのプロパティが)モデルに結びつけられます。これは、かなり便利な機能です。しかしこの複数代入の機能は、一方で、ユーザーの与えた値により、モデルの属性を変更できると言うことでもあります。これは、重大なセキュリティの欠陥になる可能性があります。Laravel3では、全項目代入可能になっていましたが、Laravel4ではセキュリティー的に強化するため、デフォルトで、全項目代入禁止になっています。

基本例

//一般的な代入
$user=new User;
$user->username=Input::get('username');
$user->email=Input::get('email');
$user->save();

//複数代入
$user=User::create(Input::only('username','email'));

 

« »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です