PHP4ではコンストラクタ名はクラス名と同じのfunctionを定義していましたが、
PHP5では
__construct というメソッドを定義することでコンストラクタとします。
class Parent {
function Parent()
{
}
function __construct()
{
echo "親コンストラクタ";
}
}
class Child extends Parent{
function __construct()
{
parent::__construct();
echo "子コンストラクタ";
}
}
PHP4で使えた、クラス名と同名のメンバ関数をコンストラクタとすることも可能ですが、__construct が定義されていた場合、そちらを優先することになっています。
このコンストラクタ名統一により、子クラスで親クラスのコンストラクタを呼ぶ場合に、いちいち名前を書くといった面倒なことをしなくても、parent::__construct と書くだけでよいので嬉しいですね。
スポンサードリンク
もどる