За последние 24 часа нас посетили 19603 программиста и 1604 робота. Сейчас ищут 872 программиста ...

Получение переменной из класса без инстанцирования

Тема в разделе "Прочие вопросы по PHP", создана пользователем freeneutron, 8 дек 2010.

  1. freeneutron

    freeneutron Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    226
    Симпатии:
    3
    Есть такой код:
    Код (Text):
    1. class My_class{
    2.     private $My_var = 'Значение по умолчанию';
    3.     public function get_defaults(){
    4.         return $this->My_var;
    5.     }
    6. }
    7. $My_var = My_class::get_defaults();
    Последняя строка выдает ошибку (Undefined property: My_class::$My_var ). И это понятно, надо сначала создать экземпляр класса. Но когда-то где-то краем уха я слыхал, что специально для этого случая в PHP есть специальный ключ, с которым нужно объявить $My_var, что бы это работало нормально. Кто-нибудь знает как оживить данный пример?
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
  3. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    PHP:
    1.  
    2. <?php
    3.  
    4. class My_class{
    5.     private static $My_var = 'Значение по умолчанию';
    6.  
    7.     public static function get_defaults(){
    8.         return self::$My_var;
    9.     }
    10. }
    11. $My_var = My_class::get_defaults();
    12.  
    13. ?>
    14.  
     
  4. freeneutron

    freeneutron Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    226
    Симпатии:
    3
    Gromo, спасибо. То, что нужно.