Как я могу вызвать переменные-члены класса в статическом методе? - PullRequest
10 голосов
/ 17 ноября 2009

Я использую какой-то метод для автозагрузки вспомогательных файлов с функциями. Единственная проблема, с которой я сейчас сталкиваюсь, это как вызвать переменные в этом классе.

Поскольку я не создаю его экземпляр как объект, $this не будет работать. Но что будет?

class some_helperclass {

var $some_variable  = '007';

public static function some_func()
    {
    //return 'all ok';
    if (self::some_variable !== FALSE)  
    {
       return  self::ip_adres;
    }
}

Теперь я могу вызывать функцию из любой точки мира с помощью spl_autoload_register().

some_helperclass:: some_func();

Ответы [ 2 ]

27 голосов
/ 17 ноября 2009

Вы должны использовать self::$some_variable. Поместите туда $.

http://www.php.net/manual/en/language.oop5.static.php

Переменная-член также должна быть объявлена ​​статической.

5 голосов
/ 17 ноября 2009

Объявите переменную как статическую.

private static $some_variable;
...