PHPで、継承したクラスにコンストラクタやデストラクタを実装した場合、暗黙のうちに親クラスのものが呼ばれることはなく、parent::__construct()
/__destruct()
を明示的に呼び出すなど、自力で実行する必要があります。
ところが、C++では暗黙のコンストラクタ・デストラクタが生成されますが、PHPではそんなことは起きず、親クラスに存在しないコンストラクタ・デストラクタを呼ぼうとすればエラーとなってしまいます。
自分で書いたクラスを継承するのならともかく、既存のライブラリにあるクラスを継承するようなシチュエーションでは、今はなくてもそのうち新たにデストラクタが増えたなど、トラブルの原因になりかねません。
このような状況で、親クラスにコンストラクタ・デストラクタがあってもなくても正常に動作するようなコードはどのように書けばいいのでしょうか。やはりリフレクションに頼る他ないのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/20 01:15