[PHP-doc 965] コンストラクタとデストラクタ

Kenji Suzuki kenji.uui @ gmail.com
2013年 2月 15日 (金) 09:42:44 JST


Kenji です。


http://www.php.net/manual/ja/language.oop5.decon.php

原文

For backwards compatibility, if PHP 5 cannot find a __construct() function for a given class, and the class did not inherit one from a parent class, it will search for the old-style constructor function, by the name of the class. 

翻訳

下位互換性を維持するため、PHP 5 が指定されたクラスの __construct() 関数をみつけられなくて、 かつそれが何かの親クラスを継承したものでない場合には、 古い形式のコンストラクタ関数、つまり、そのクラスの名前と同じ関数が探されます。


「それが何かの親クラスを継承したものでない場合」という訳がちょっと違う
感じではないでしょうか。


ところで one は __construct() のことかと思ったのですが、__construct() が
継承されていても古い形式のコンストラクタが呼ばれるようです。私が何か誤解してます
でしょうか?

<?php

class A
{
  public function __construct()
  {
    echo 'A::__construct()';
  }
}

class B extends A
{
  public function B()
  {
    echo 'B::B()';
  }
}

$obj = new B(); // B::B()


// Kenji


PHP-doc メーリングリストの案内