Ответы на вопросы по ООП

После окончания интенсива провели бесплатный дополнительный урок с ответами на вопросы по ООП. Поговорили ещё раз об ответственностях контроллеров, немного про MVC, View Model и фреймворки, повторили критерии выноса кода в отдельные компоненты. Личных вопросов не было, поэтому с разрешения участников выкладываю запись для всеобщего просмотра:

Открыть на YouTube | Страница интенсива

Интересно наблюдать прогресс. Первый интенсив был местами весьма скучным. Второй лучше, но всё равно многого не хватало. Третий уже оказался полноценным и насыщенным. Недосказанные ранее в предыдущих потоках вещи осветили до конца. Теперь структурой и содержимым интенства я остался вполне доволен, и, судя по отзывам во Вконтакте и в FaceBook это всё было не зря :)

Добавились новые примеры по объектам-значениям и работе с сервисами, появился целый блок по рассмотрению встроенных в PHP интерфейсов и итераторов, все теоретические моменты дополнили практикой, добавили исследование некоторых популярных библиотек.


Получить записи интенсива


И ещё раз говорю спасибо всем участникам! Без вашего участия и поддержки не появился бы такой мега-полезный интенсив!

Комментарии

 

Иван

Насыщенный курс, который буду пересматривать еще не раз))

Ответить

 

Аноним

С первого раза не доходит?

Ответить

 

Иван

Не доходит, я же ПХПешник)

Ответить

 

Андрей

Поверь, до него тоже не доходит. Обычная малолетняя вычурность, не более.

Ответить

 

Kr1ka

В вопросе про ответственность контроллера говорится о вьюевер UserView. У меня возник вопрос, как использовать такие вьюверы, если у меня список данных, а не один User?

Ответить

 

Дмитрий Елисеев

Обернуть каждый элемент в цикле:

$userViews = array_map(function (User $user) {
    return new UserView($user);
}, $users);
Ответить

 

Kr1ka

Спасибо. А обращение к связанной модели производить во vewere'е? Т.е. например, если у меня имя, фамилия в profile. Создавать в UserView метод getProfile() и там связи прописывать?

Ответить

 

Дмитрий Елисеев

Либо getProfile(), либо напрямую добавьте getFirstName().

Ответить

 

Сергей Седоволосый

А без договора публичной аферты можно купить запись курса ооп? А то пункт использования моих персональных не только вами, а передача их другим третьим лицам не радует.

Ответить

 

Дмитрий Елисеев

Не доверяете сервису приёма платежей?

Ответить

 

Сергей Седоволосый

Я не хочу давать согласие по этим пунктам. Лишний спам мне не нужен.
Пункт 5.3 договора оферты:

e) В целях рассылки каталогов, коммерческих предложений, новостей в маркетинговых и в иных коммерческих целях;
f) На передачу ПДн любым третьим лицам на территории Российской Федерации.

Ответить

 

Дмитрий Елисеев

Значит никак. Без этих пунктов не смогу разослать скидки по интенсиву и дать обработать платежи своей жене.

Ответить

 

Сергей Седоволосый

Значит так.

Ответить

 

Олег

Очень понравилась идея с ModelView классом который будет отвечать за вывод. Но не ясно куда вынести поля формы ActiveForm если нужны громоздкие конструкции (много классов, data-аттрибутов, поля со сложной версткой и т.д.)..

Ответить

 

Дмитрий Елисеев

Для ActiveForm можно насочинять своих InputWidget.

Ответить

 

Andrewkha

А можно как-нибудь исходники эти получить?

Ответить

 

Алекс

С наступившим, уважаемый Дмитрий! Хорошего года! Может вебинарчик на праздниках? ;-)

Ответить

Оставить комментарий

Войти | Завести аккаунт


(никто не увидит)



Можно использовать теги <p> <ul> <li> <b> <i> <a> <pre>