WinRoadのLaravel4初心者講座

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

Winroad徒然草の管理人がお届けします
FAQ

FAQ

propety_exists()とは

オブジェクトもしくはクラスにプロパティが存在するかどうかを調べるために使用します。

propety_exists(クラス,プロパティ)

第1引数に確認するクラス名、もしくはクラスのオブジェクトを指定します。第2引数に調べたいプロパティ名を指定します。

プロパティが存在している場合はTRUE、存在していない場合にFALSE、エラー時にはNULLを返します。

array_key_exists()とは、

array_key_exists()は、PHPの関数で、指定したキーまたは、添字が配列にあるかどうかを調べるために使用します。

array_key_exists(キー、配列)

第1引数で、指定したキーが第2引数の配列内に含まれているかどうかを調べます。含まれていた場合はTRUE、含まれていなかった場合はFALSEを返します。

補足

バージョン5.3.0以降、この関数はオブジェクトに対しては使えなくなりました。オブジェクトについてはpropety_exists()を使用します。

参考

  • propety_exists()
  • method_exists()
    クラスメソッドが存在するかどうかを確認します。

isset()とは、

isset()とは、変数がセットされていて、そしてNULLで無いことを検査します。※これは、関数ではなく、言語構造のため、可変関数を用いてコールすることはできません。

bool isset(mixed $var[,mixed $var…])

調べたい変数が存在してNULL以外の値をとればTRUE、そうでなければFALSEを返します。複数のパラメータを渡した場合は、それら全てがセットされている場合にのみTRUを返します。

参考

  • empty()
    変数が空であるかどうかを調べる
  • __isset()
    isset()あるいは、empty()をアクセス不能プロパティに対して実行したときに起動します。
  • unset()
    指定した変数の割り当てを解除する。
  • definde()
    指定した名前の定数があるかどうかを調べる。
  • array_key_exists()
    指定したキーまたは、添字が配列にあるかどうかを調べる。
  • is_null
    変数がNULLかどうかを調べる

PHPマニュアル

ime-modeとは

フォームのテキスト値を入力するときに、入力モードを指定したい場合が結構あると思います。

「最初から日本語入力モードになっていれば、入力間違いが無いのに」とか、

emailアドレスなのに、「入力モードが日本語モードになっていて入力しづらい」とか、

そんなときに便利なのが、ime-modeです。

元々は、Internet Explorer独自の追加仕様ですが、今では、他のブラウザも一応対応しているみたいです。IMEとは、日本語を入力するためのソフトで、Windowsの「MS-IME」や、ジャストシステム社の「ATOK(エイトック)」等があります。

そのIMEの入力モードをCSSで指定することができます。指定できる値は以下のようになります。

  • auto
    特に指定しません。
  • active
    初期値が日本語入力モードになります。
  • inactive
    初期値が英数字入力モードになります。
  • disabled
    英数字入力モードで、ユーザーによるモードの変更を禁止しています。

トークンとは

トークンとは、証拠、記念品、代用貨幣、引換券、商品券などの意味を持つ英単語。プログラミングでは、ソースコードを解析する際にそれ以上細かい単位に分解できない文字列の並びの最小単位(要素名や演算子など)のことをトークンという。ネットワーク制御で、ネットワーク上を周回する送信権を意味する特殊な信号やデータをトークンということがある。セキュリティ分野では、ユーザ認証のためにコンピュータのUSBコネクタなどに物理的に接続する小型の装置(セキュリティトークン)のことを略してトークン(あるいはUSBトークンなど)と呼ぶことがある。(IT用語辞典e-Wordsより)

例外処理とは

例外処理(れいがいしょり)とは、プログラムがある処理を実行している途中で、なんらかの異常が発生した場合に、現在の処理を中断(中止)して、別の処理を行うこと。その際に発生した異常のことを例外と呼ぶ。(ウィキペディアより)

参考サイト

複数代入とは

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

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'));

 

ORMとは

ORM(Object Relational Mapping)とは、オブジェクト指向プログラミング言語におけるオブジェクトの各データをリレーショナルデータベースのレコードを構成する個々の項目に関連づけること。また、そのための機能やツールなど。(IT用語辞典e-Wordsより)

SQLインジェクションとは

SQLインジェクションとは、データベースと連動したWebサイトで、データベースへの問い合わせや操作を行うプログラムにパラメータとしてSQL文の断片を与えることにより、データベースを改ざんしたり不正に情報を入手する攻撃。また、そのような攻撃を許してしますプログラムの脆弱性のこと。(IT用語辞典e-Wordsより)

CSRFとは

CSRF(Cross Site Request Forgeries)とは、Webサイトにスクリプトや自動転送(HTTPリダイレクト)を仕込むことによって、閲覧者に意図せずに別のWebサイト上で何らかの操作(掲示板への書き込みなど)を行わせる攻撃手法(IT用語辞典e-Wordsより)

参考サイト