
6.3
例外を使った問題の通知
101
コア 2 つから始まる
_ _construct()
という名前になります。例6-5 は、コンストラクタメソッドを
加えたクラスを表しています。
例
6-5
コンストラクタを使ったオブジェクトの初期化
class Entree {
public $name;
public $ingredients = array();
public function __construct($name, $ingredients) {
$this->name = $name;
$this->ingredients = $ingredients;
}
public function hasIngredient($ingredient) {
return in_array($ingredient, $this->ingredients);
}
}
例6-5 では、
__construct()
メソッドが 2 つの引数を取り、その値をクラスのプロパティに設定
していることがわかります。引数名とプロパティ名が同じであるのは便宜上です。PHP エンジン
は名前が同じであることは求めません。コンストラクタ内では、
$this
キーワードは生成している
特定のオブジェクトインスタンスを参照します。
コンストラクタに引数を渡すには、
new
演算子を使うときにクラス名を関数名のように扱い、ク
ラス名の後に括弧と引数値を記述します。例 6-6は、クラス内のコンストラクタを呼び出し、以前
使ったものと同じ
$soup ...