2012-02-28 16 views
0

私は奇妙な問題があります:\Application\Logという名前のクラスでZend_Logを拡張しました(同じ名前のZend_Logのメソッドであるlogというメソッドが含まれています)。しかし、$log = new \Application\Log();を実行すると、php4スタイルのコンストラクターのように、何らかの理由でlogメソッドを実行しようとします。これを回避するには何ができますか?

+0

どのようなPHPバージョンが使用されていますか? – Electronick

+0

PHP 5.3.3以降、名前空間のクラス名の最後の要素と同じ名前のメソッドは、もはやコンストラクタとして扱われなくなりました。この変更は名前空間のないクラスには影響しません。 – Electronick

答えて

1

子クラスに空のコンストラクタを指定してください。

+0

このハックなソリューションは本当にここでベストプラクティスですか? – mattalxndr

+0

正直言って、それは私の頭に浮かぶ最初のアイデアでした。私はそれが働くのを待っていませんでした。 :) –

+0

さて、それは動作します。ありがとう:) – mattalxndr

関連する問題