Не откладывайте это на потом

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

А если и что-то изучали, то всё равно у них возникает ступор, как же это применять. Некоторые могут кое-как использовать готовые объекты библиотек и фреймворков, но свои создавать боятся:

После каждого нашего вебинара все просят курс по Yii2, но без знаний ООП изучать фреймворк нет смысла. Так что решил провести отдельный интенсив по ООП на основе материала со своих уроков, дополнив новыми разделами про лучшие практики разработки и практическими примерами, чего порой не хватает во многих теоретических курсах.

Соорудил подробную страницу со всей информацией о формате, сроках и программе:

Перейти на страницу интенсива

Записи уроков придут всем записавшимся, так что можете не присутствовать в онлайне, если не успеваете. Если есть вопросы, ответа на которые не нашли, то спрашивайте в комментариях. Отвечу и добавлю на страницу. До встречи на интенсиве уже через неделю!

Другие статьи

Спонтанный вебинар о применении кеширования данных, фрагментов и страниц в Yii2 на примере каталога с прошлого скринкаста. Рассмотрели несколько вариантов и ответили на интересные вопросы зрителей

При входе в чужой проект (или при доработке своего старого) часто сталкиваемся с отсутствием хоть каких-то автоматических тестов. А без них весьма неприятно ковыряться в исходниках, так как есть постоянный страх что-то сломать. Поэтому первым делом приходится внедрять автотесты. Посмотрим, чем Gii может нам помочь.

Сначала хотел провести вебинар по связям ActiveRecord-моделей в Yii2 на основе урока о теории баз данных, осветив несколько тем из документации. Но получилась бы куча «воды» без практики. Так что решил показать на примере разработки каталога для интернет-магазина из реальной жизни.

В прошлой части мы написали удобный гибридный AuthManager, который можем захотеть использовать в других проектах. Да и в обратную связь поступало много вопросов, как подготовить какой-нибудь компонент для совместного использования в разных приложениях. Так что попробуем сделать полноценное переносимое расширение, которое выгрузим на GitHub и опубликуем для подключения через Composer.

Комментарии

 

Николай

Мне очень помогла книга в изучении ООП Мэт Зандстра - PHP. Объекты, шаблоны и методики программирования

Ответить

 

Вадим

Курс будет иметь теоретическую или практическую основу?

Ответить

 

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

Будет с уклоном на практику при объяснении примеров с демонстрацией на живом коде. Последний день вообще чисто практический.

Ответить

 

Lola

Вы правы, это другое измерение в программировании. Очень важное начинание.

Ответить

 

Денис

Этот курс будет рассмотрен в контексте Yii или просто теория?

Ответить

 

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

Yii будет больше на последний день в примере с ActiveRecord и CRUD. Остальное - чисто на PHP с вкраплениями нюансов использования во фреймворках.

Ответить

 

ken

Отличная идея. Структурный подход очень важен, многие хватаются за сложные задачи, потом кое как делают на базе примеров из интернета не вникая в суть.
Советую потратить небольшие деньги и за короткое время освоить базовые знания, чем хватать по кусочкам в интернете толком не понимаю всех нюансов.

Ответить

 

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

Записи будут, если кто-то не успевает вечером.

Ответить

 

Макс

Привет . Какая длительность ~ одного урока будет ?

Ответить

 

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

Примерно по 2-3 часа. Но может уговорите меня и дольше провести :)

Ответить

 

Juri

Дмитрий будет ли в курсе рассматриваться MVC с ООП?

Ответить

 

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

В списке принципов и паттернов будет упонинание. Но мы в итоге к MVC и придём.

Ответить

 

Juri

После этого курса планируется курс по самому Yii2 и если да то как скоро?

Ответить

 

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

Надо будет хороший пример для такого мастер-класса придумать. Как был в крайнем вебинаре, но на несколько дней.

Ответить

 

Juri

Смотрел этот вебинар, отлично все рассказано и показано ;) Спасибо.
Курс по ООП приобрел ;) жду начала с нетерпением ;)

Ответить

 

Иван

Привет. А можно будет потом купить видео запись интенсива?

Ответить

 

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

Ещё думаю. Если будет, то, наверное, уже дороже.

Ответить

 

Иван

Это не проблема. Дело в том, что я работаю и в день и в ночь. По этой причине могу пропускать курсы (вот и интересуюсь, можно ли потом купить запись.

Ответить

 

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

Вам всё равно записи каждого урока приходить будут. Так что не проблема.

Ответить

 

Иван

Отлично. Спасибо)

Ответить

 

Сергей Беловенцев

На много? Просто именно сейчас средств нет будут где то к концу июня.

Ответить

 

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

Не намного. Ещё не знаю. Может тогда второй поток запущу.

Ответить

 

Andrewkha

А мне кажется, что чисто запись должна быть подешевле. :) Объясню, почему. Я так понимаю, что живые курсы будут интерактивными, т.е. слушатели могут задать вопрос и тп. Соответственно, тот, кто пришел на живой урок, во-первых, имеет больше возможностей, а, во-вторых, пользуется бОльшим количеством "ресурса" докладчика, занимает доп время для ответа на вопрос и тп. Тот, кто получает запись, имеет то, что имеет.

Ответить

 

Дмитрий

Возникла проблема с оплатой! Посмотри почту mail@elisdn.ru

Ответить

 

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

Всё номально. У меня отобразилось, что оплачено.

Ответить

 

Сергей Доровский

Дима, учи только лучшим практикам, не нужно учить на примере Yii. Вот мое пожелание.
Ах да, неплохо было бы рассказать почему, и где Yii не соответствует даже базовым концепциям ООП.

Ответить

 

Сергей

Что за чушь? Причем тут ООП и Yii?

Ответить

 

Дмитрий

Чем плох Yii? Давайте послушаем. Может всё бросим и займемся Зендом?

Ответить

 

r om

Те кто не знает ООП но есть желание разобраться - уверенно подписывайтесь на курс, Дима практик и держит слово, почитайте его статьи или ответы на форме http://yiiframework.ru и убедитесь сами.

Ответить

 

Juri

Будут ли в этом курсе домашние задания для усвоения и закрепления материала?

Ответить

 

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

Домашние задания придётся долго проверять, так что с ними не успею.

Ответить

 

Andrewkha

Зачем проверять? Можно просто рассказать правильное решение, а каждый потом посмотрит на свои ошибки

Ответить

 

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

Если не проверять, то их никто делать не будет :)

Ответить

 

Andrewkha

Ну, это личное дело каждого. Если человек пришел (да еще и деньги заплатил), то, наверное, он заинтересован в результате. Я бы проголосовал за ДЗ, для закрепления было бы очень полезно

Ответить

 

Juri

Согласен, тот кто платит деньги тот заинтересован будет делать ДЗ и усвоить материал лучше.

Ответить

 

Андей Зенков

Вот это прям точно. К халяве всегда отношение халатное. А свои кровненькие хочется отработать по полной.

Ответить

 

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

UPD: Добавил позможность предоплаты только части уроков.

Ответить

 

Макс

Отписал на почту. Имею проблемы при оплате так как нет рублевого кошелька

Ответить

 

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

Ответил.

Ответить

 

Алекс

Вижу, что можно заказать отдельно первые три дня. А больше как раз интересуют последние три дня. Можно ли их отдельно? Или даже вообще на последний только день?

Ответить

 

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

Можно на день после последнего. Это вообще бесплатно.

Ответить

 

Алекс

Мда, ну жаль.

Ответить

 

Сергей

Добрый день.
Подскажите, сколько стоит курс?

Ответить

 

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

Стоил 2990 руб.

Ответить

 

Сергей

Дмитрий, вы ответили в прошедшем времени.... в настоящем что-то поменялось?

Ответить

 

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

Сегодня уже первый урок, поэтому продажи уже закрыты с позавчера. Можете предварительно записаться на следующий поток.

Ответить

 

Сергей

Благодарю за ответ.

Ответить

 

Александр

Дмитрий, во сколько начало первого занятия, в личном кабинете нет информации по этому поводу

Ответить

 

Александр

Извините, всё нашёл)

Ответить

 

Вася Ветров

отлично

Ответить

 

Васильян Пупковичус

ооп провалилось

Ответить

 

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

?

Ответить

 

Сергей

Привет. А в будущем уроков по RESTful api не планируется?)

Ответить

 

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

А какие моменты по нему непонятны из документации?

Ответить

 

Сергей

Да вроде понятно когда читаю) А начал делать сразу вопросы появляются. Экспериментировал с angularJs, создавал свои inputЫ, выходит ошибка bad request, я так понял она из за csrf защиты. Как правильно поступить не знаю. Если отключать, то это минус в защите, как лучше поступить? С входом на сайт разобрался, но не понял как ограничить доступ к страницам в зависимости от роли пользователя. Прописал rules как обычно в контроллерах пишут, например что на actionТакой-то доступ тока залогиненым пользователям. Тут же проверяю, захожу на эту страницу как гость, оно заходит! и через 0,5 секунды гдето с нее выкидывает, а должно по идее вообще не пускать. Ну вообще хотелось бы посмотреть как профессионалы создают одностраничные веб приложения, чтобы опыт их принять, тонкости разные узнать, как уязвимости все устранить, и тд. А вообще люди не обращаются с тем же вопросом, что и я на счет RESTful приложения на yii2 фреймворке?

Ответить

 

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

И так на Yii мало людей. А REST делают ещё меньше. Так что редко бывает.

Ответить

 

Алекс

Дмитрий, ну выложите уже пожалуйста исходники к заключительному уроку. Спасибо.

Ответить

 

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

Выложил.

Ответить

 

Алекс

А чем работа через конфигурирование контейнера зависимостей $container->setSingleton(.....) с дальнейшей передачей класса(интерфейса) в конструктор другого класса будет принципиально отличаться от обращения к нужному классу через Yii::$app->myComponent (как я понимаю более характерный способ для Yii2) с предварительным же указанием конкретного нужного класса для myComponent в конфигурационном файле?

Ответить

 

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

Класс с Yii::$app->myComponent автоматически становится намертво привязан к Yii2. Его не протестируешь без поднятия всего фреймворка с Yii::$app и никуда больше не перенесёшь.

А с конструктором как в примере с корзиной: класс Cart и его скидки мы тестируем голым PHPUnit и можем использовать без переписывания в любом проекте на любом фреймворке и CMS.

Ответить

 

Алекс

Ага, вот теперь пейзаж стал виден на 360 градусов. Вот оказывается из-за чего те самые пресловутые "бородатые дядьки" не любят сервис локатор Yii.

Ответить

 

Алекс

Очень хорошо "поверх" курса лег вот этот доклад. Прям прямиком продолжением последнего 6-го урока.

Ответить

 

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

Да, из почти такого-же и услышал про ТТУК и «молитву контроллера». А DDD - это уже следующий уровень.

Ответить

 

Алекс

Сейчас за майские праздники Дима отдохнет, отоспится и... порадует нас практическим курсом написания интернет-магазина на Yii2. )))))) Ведь так, Дмитрий? ))

Ответить

 

Алекс

Дмитрий, срочно нужен Ваш совет.
Согласно техзаданию:"при нажатии кнопки 'добавить' товар должен сохраниться в сессии и в базу данных (СЕССИЯ, товар, дата добавления)".
Как реализовать хранение сессии в БД и ее восстановление ? Т.е. я так понимаю, что надо понять, что к нам пришел тот же пользователь (ну это ладно, дадим ему куку с номером сессии) и восстановить сессию из БД. Как это реализовать в Yii2?

Ответить

 

Алекс

Да, забыл сказать. Это все видимо предполагает что пользователь не авторизуется.

Ответить

 

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

Пропишите в components конфига:

'session' => [
    'class' => 'yii\web\DbSession',
],

и создайте таблицу:

CREATE TABLE session
(
    id CHAR(40) NOT NULL PRIMARY KEY,
    expire INTEGER,
    data BLOB
)
Ответить

 

Алекс

Спасибо, Дмитрий!

Ответить

 

Колесников

Дмитрий, вы не могли бы подсказать как решить следующую проблему. Нужно передавать переменные из экшена в лейаут (в лейауте есть меню, которое берет данные из базы). Когда делал сайты на шаблонизаторе twig это решалось без проблем. В Yii так и не нашел способа красиво решить этот вопрос.

Ответить

 

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

Если просто что-то выводить из базы, то делается виджетами. Если именно передать из экшена, то также, как $this->params['breadcrumbs'] из представлениия экшена в шаблон передаётся.

Ответить

 

Jeeshi

I just see the post i am so happy the post of information's. So I have really enjoyed and reading your blogs for these posts. Any way I’ll be subscribing to your feed and I hope you post again soon.

Ответить

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

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


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



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