доступ к статической переменной в php - PullRequest
0 голосов
/ 25 июля 2010

у меня есть простой случай класса со статической переменной и функцией 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;
    }
}

спасибо всем

Ответы [ 2 ]

6 голосов
/ 25 июля 2010

PHP думает, что вы пытаетесь получить доступ к константе класса из-за:

return self::TYPE;

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

Как упоминает Крис, используйте:

return self::$TYPE;
3 голосов
/ 25 июля 2010

Вы можете получить доступ к этим двум способам, так как это общедоступно ...

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.
...