オブジェクト指向-コンストラクタ
コンストラクタとはインスンタンス作成時に呼び出されるメソッドである。
メソッド名を"__construct(変数1, 変数2, ...)"と付けて、インスタンス作成時で"new クラス名(引数1,引数2,...)"として値を受け渡す。
これは、製造日や更新日など簡単に変えられない値。何かしらのイベントが起きた際にインスタンス作成と同時に値を受け渡すメソッドである。
<?php class Product{ private $name; private $productdate; //ダブルアンダースコアをつける。コンストラクタにはアクセス修飾子"public"を必ずつける。 public function __construct($name,$productdate){ $this->name = $name; $this->productdate = $productdate; } //プログラム名の取得 public function getName(){ return $this->name; } //記述日を取得 public function getproductdate(){ return $this->productdate; } } //インスンタンス作成時に、クラス名の引数からコンストラクタで設定した変数に受け渡す。 $meirei01 = new Product('cakePHP','2014/08/31'); $meirei02 = new Product('smarty','2014/09_01'); $meirei01_name = $meirei01->getName(); $meirei01_date = $meirei01->getproductdate(); $meirei02_name = $meirei02->getName(); $meirei02_date = $meirei02->getproductdate(); print $meirei01_name.'を'.$meirei01_date.'に記述しました'.'<br>'; print $meirei02_name.'は'.$meirei02_date.'に記述されました'; ?>
出力結果
cakePHPを2014/08/31に記述しました smartyは2014/09_01に製造されました