2011-01-19 9 views
0

クラス名がコンストラクタであるのと同じ名前でそのメソッドをオフにすることはできますか? PHPで。ここでクラス名がコンストラクタであるのと同じ名前でそのメソッドを無効にすることはできますか?

は、例えば、Ubuntuの上で...

class Foo { 
    function foo() { // This would be the constructor, but I don't want to... ='(
     echo 'I was here!'; 
    } 
} 

$foo = new Foo; 

のPHP v5.3.2です。

+1

メソッドを定義しないでください。 –

+0

私の知る限りではありません。たとえあなたができたとしても、それは良い習慣ではありません。 –

+0

Okeyなら、唯一の方法はクラスとメソッドを同じように呼び出さないようにすることです。ありがとう。 – daGrevis

答えて

4

はい、可能です。 __construct Documentationによると、5.3.2(ご使用のバージョン)の名前空間クラスのコンストラクタの型は解決されません。あなたのクラスが名前空間になっている限り、それはそのように動作しません。

namespace My; 
class Foo { 
    function foo() { 
     echo 'I was here!'; 
    } 
} 
$foo = new Foo; // won't echo 
+1

+1これも私が提案しようとしていたものなので、私たちは今でも存在していると思います) – Gordon

関連する問題