Переменная доступа в классе - PullRequest
0 голосов
/ 19 мая 2011

Я хотел бы получить доступ к переменной, которая находится в классе (не как экземпляр класса) Например

class myclas
{
private $list=array('1','2','3');
[...]
}

Мне нужно получить доступ к значениям $ list следующим образом: myclass :: $ list (ведь это невозможно). Есть ли альтернативный способ?

Спасибо.

// Редактировать: Спасибо всем за ответ! Можно ли использовать личную переменную в качестве значения для общедоступной?

class myclas
 {
   private $_list=array('1','2','3');
   public static $staticList=$_list;
  [...]
    }

Прямо сейчас, я получаю ошибку "неожиданный T_VARIABLE"

Ответы [ 5 ]

6 голосов
/ 19 мая 2011
class myclas
{
public static $list=array('1','2','3');
}
myClass::$list;
3 голосов
/ 19 мая 2011

Смотрите это прекрасное руководство: http://php.net/manual/en/language.variables.scope.php

1 голос
/ 19 мая 2011

Это приватная переменная.Если вы сделали ее общедоступной статической переменной, вы сможете получить к ней доступ:

class myclas {
 public static $list = array('1','2','3');
}

myclas::$list;
0 голосов
/ 19 мая 2011

Редактирование см. В этом другом красивом руководстве о классах и видимости:

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

0 голосов
/ 19 мая 2011

Он должен быть объявлен как static .

Пример:

class MyClass {

    public static $var = 'foo';
}

Затем для доступа: MyClass::$var;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...