継承先クラスにコンストラクタを作るときの注意
こんなことをしてしまうと、継承元のコンストラクタが無効になってしまうので注意。
どうしても継承先でコンストラクタを使用したい場合は、
明示的に継承元のコンストラクタを起動する。
例えば継承元のコンストラクタが「Database」という名前で、継承先のコンストラクタが「Database2」だった場合は、以下のようにする。ちなみに、この仕様はPHP4のものを前提にしているが、PHP5でも有効に動く。ただし、PHP5純正の方式では、コンストラクタの命名方法が異なるらしい(調べてない)。
function Database2($option) { parent::Database($option); }
これでOK。引数を橋渡ししたい場合も、すでにDatabase2では取得しているはずなので、そのまま引き渡せば大丈夫。