WinRoadのLaravel4初心者講座

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

Winroad徒然草の管理人がお届けします
PHP用語

FAQ

Trait(トレイト)とは

PHP5.4から使用できる新機能で、トレイトは、PHP のような単一継承言語でコードを再利用するための仕組みのひとつです。

トレイトは、単一継承の制約を減らすために作られたもので、 いくつかのメソッド群を異なるクラス階層にある独立したクラスで再利用できるようにします。

トレイトとクラスを組み合わせた構文は複雑さを軽減させてくれ、 多重継承や Mixin に関連するありがちな問題を回避することもできます。

トレイトはクラスと似ていますが、トレイトは単にいくつかの機能をまとめるためだけのものです。

トレイト自身のインスタンスを作成することはできません。 昔ながらの継承に機能を加えて、振る舞いを水平方向で構成できるようになります。

つまり、継承しなくてもクラスのメンバーに追加できるようになります。(PHPマニュアルより)

参考サイト

 

Scafold(スキャフォールド)とは

Scafold(スキャフォールド)とは、建築現場などの足場を意味する英単語で、簡単にアプリケーションの雛形を生成してくれる便利な機能です。CakePHPやRuby on Rails等では、標準で添付されている機能ですので、使ったことのある人は、その便利さを実感していると思います。

只、これはあくまでも簡易的に作成しているものなので、実際には、これに手をいれて使用します。

タイプヒント(タイプヒンティング)とは

タイプヒント(タイプヒンティング)は、PHP5から導入された、関数やメソッドの引数に型(タイプ)を指定することが出来る機能です。

指定できるタイプは、オブジェクト、インターフェイス、配列(PHP5.1以降)、callable(php5.4以降)です。

参考サイト

インターフェイス(interface)とは

インターフェイス(インターフェース)を辞書で引いてみると、境界面、仲介、橋渡しなどと訳されます。IT関連では、「ハードウェアインターフェイス」「ソフトウェアインターフェイス」「ユーザーインターフェイス」などに分類され、両者間での情報や信号などの手順や規約を定めているものをいいます。

PHPでは、クラスを作成する上での仕様書(手順書)になります。詳しくは、下記のサイトをご覧下さい。

参考サイト

 

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マニュアル

例外処理とは

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

参考サイト

複数代入とは

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

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