Конкретно не понимаю присваивание свойствам класса: $this->$key=$value; Облазил весь класс и родительский нет таких свойств, динамически чтоль создаются или что то упускаю из виду, не понимаю.помогите кто нибудь, как это может работать? Кто работал с Yii?
Stierus
Отправлено: 14 Октября, 2013 - 21:33:25
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
abstract class
Мелкий
Отправлено: 14 Октября, 2013 - 22:05:17
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
darl пишет:
динамически чтоль создаются
Именно так.
В объект $this добавляются свойства с именем, сохранённом в переменной $key и значением переменной $value.
Т.е. если методу передать array('foo'=>1, 'bar'=>2), то это будет эквивалентно
Не очень хороший приём, потом довольно сложно искать, где свойству задаётся значение. И можно случайно переписать какое-нибудь нужное свойство, даже извне класса, т.к. подобным методом свойства создаются публичные.
----- PostgreSQL DBA
esterio
Отправлено: 15 Октября, 2013 - 00:02:58
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
магическые метоты __get и __set там повсюду. смотрите класс CComponent. А также присутсвуют __call. Если Вы не знаете таких вещей, то Вам еще рано колопать фреймворк изнутри
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.