За последние 24 часа нас посетили 35077 программистов и 1756 роботов. Сейчас ищут 793 программиста ...

Видимость переменных ООП.

Тема в разделе "PHP для новичков", создана пользователем free, 15 янв 2008.

  1. free

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

    С нами с:
    7 дек 2006
    Сообщения:
    29
    Симпатии:
    0
    У меня есть класс в котором есть функция в которой есть переменная. Подскажите, как сделать, чтобы эта переменная была видна вне класса.
    Например:
    Код (Text):
    1.  
    2. class A{
    3.     public function foo(){
    4.         $this->bar = ...    // Вот к этой переменной нужно получить доступ вне класса.
    5.     }
    6. }
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    1. в классах нету функций. там есть методы. это основы понимания применения классов.
    2. напиши метод который тебе вернет эту перменную.
     
  3. free

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

    С нами с:
    7 дек 2006
    Сообщения:
    29
    Симпатии:
    0
    Каюсь :( Действительно тяжело дается понимание. Не могу найти литературу по теме на русском языке, и все по старинке делаю, а тут вот стало нужно..
     
  4. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    сделать global $var;
     
  5. free

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

    С нами с:
    7 дек 2006
    Сообщения:
    29
    Симпатии:
    0
    Спасибо, все получилось.

    А ссылочку на толковое чтиво по ООП дадите?
     
  6. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    PHP:
    1. <?php
    2. /**
    3.  * @author DarkElf
    4.  * @copyright 2008
    5.  */
    6. class A{
    7.     public static $bar = 'йа переменное неинициализированного класса!';
    8.     public function __construct(){
    9.         $this->bar = 'йа переменное инициализированного класса!!';
    10.     }
    11. }
    12. var_dump(A::$bar);
    13. $a = new A;
    14. var_dump(A::$bar,$a->bar);
    15. ?>
    Код (Text):
    1. string(43) "йа переменное неинициализированного класса!"
    2. string(43) "йа переменное неинициализированного класса!"
    3. string(42) "йа переменное инициализированного класса!!"
    php 5.2.5, в версиях ниже 5.0 не пробовать;)
     
  7. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Ну это не совсем правильно.
     
  8. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    Sergey89

    мне что поведал скомпилированный спецами php.net интерпретатор версии 5.2.5, то и пою:)

    display_errors = on в php.ini
     
  9. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0