За последние 24 часа нас посетили 216743 программиста и 2196 роботов. Сейчас ищут 2182 программиста ...

вопрос про класс

Тема в разделе "PHP для новичков", создана пользователем vikrorpert, 12 ноя 2010.

  1. vikrorpert

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

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    PHP:
    1. <?php
    2. Class Clazz {
    3.     public $value;
    4. }
    5.  
    6. $b = new Clazz;
    7. $b->newValue = 1;
    8.  
    9. $a = $b;
    10. $a->newValue = 2;
    11.  
    12. echo $b->newValue;
    13. ?>
    14.  
    почему не вылетит ошибка newValue не определена?
     
  2. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    vikrorpert
    Почему она не определена, если ты её определяешь в контексте присваивания?
    Это РНР, в РНР не нужно объявлять переменную до её использования.
     
  3. VItalijs

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

    С нами с:
    17 дек 2008
    Сообщения:
    244
    Симпатии:
    0
    Адрес:
    Рига, Латвия
    я думал если свойство не описано, то вызывается __set? т.е. получается что свойства класса можно и не определять? Интересно...
     
  4. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    VItalijs
    __sеt вызывается только тогда, когда ты переопределяешь protected или private свойство.
     
  5. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Apple
    Не, всегда вызывается, когда не находит свойство.

    PHP:
    1. <?php
    2. class A{
    3.     public function __set($val, $var){
    4.         echo "Это __set: $val=$var";
    5.     }
    6. }
    7. $a=new A();
    8. $a->a=4;
    9.