Ответы на вопросы по ООП
После окончания интенсива провели бесплатный дополнительный урок с ответами на вопросы по ООП. Поговорили ещё раз об ответственностях контроллеров, немного про 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 – sportforecast.netА можно как-нибудь исходники эти получить?
АлексС наступившим, уважаемый Дмитрий! Хорошего года! Может вебинарчик на праздниках? ;-)