0

静的変数と get 関数を持つクラスの単純なケースがありますが、すべて正常にコンパイルされますが、実行時にこのエラーが発生します

[Sun Jul 25 03:57:07 2010] [error] [client 127.0.0.1] PHP Fatal error:  Undefined class constant 'TYPE' in .....

関数 getType() の場合

ここに私のクラスがあります

class NoSuchRequestHandler implements Handler{
    public static $TYPE  = 2001;
    public static $VER   = 0;

    public function getType(){
      return self::TYPE;
    }

    public function getVersion(){
      return self::VER;
    }
}

皆さん、ありがとうございました

4

3 に答える 3

6

PHP は、次の理由により、クラス定数にアクセスしようとしていると判断します。

return self::TYPE;

http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php

Chris が言及しているように、以下を使用します。

return self::$TYPE;
于 2010-07-25T01:17:44.280 に答える
5

公開されているため、これには2つの方法でアクセスできます...

class NoSuchRequestHandler implements Handler{
    public static $TYPE  = 2001;
    public static $VER   = 0;

    public function getType(){
        return self::$TYPE;  //not the "$" you were missing.  
    }

    public function getVersion(){
        return self::$VER;
    }
}

echo NoSuchRequestHandler::$TYPE; //outside of the class.
于 2010-07-25T01:09:58.417 に答える