Приветствие Yii2. Интерактив

С момента предыдущей публикации на сайте прошло два месяца. За это время практически наступило лето, начал набирать обороты мой замороженный с декабря по апрель марафонский контентный проект, изучено много материалов в различных областях знаний. Но главное событие этой весны для некоторых программистов – это выход beta-версии нового Yii 2.0. Это не может не радовать, так как практически на наших глазах произошёл вход Yii в экосистему фреймворков нового поколения.

Yii Logo

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

Постранства имён, трэйты, Composer, репозитории...

Новые инструменты, новые технологии. За крайние пару лет опробованы, доведены до рабочего состояния и внедрены в процесс разработки десятки систем тестирования, автоматической развёртки, управления версиями и пакетами... Как в старой шутке про нерадивую ученицу: «Почему ты опять не успеваешь по Истории? Мама, когда ты училась, учебник был тоньше!». Так и сейчас: в тренде разработки программных проектов происходит много изменений. Лучшие практики и инструменты портируются на другие языки и постепенно мигрируют из системы в систему. Новичку разобраться в этом может быть довольно-таки сложно.

Для ручной (и менее автоматизированной) работы новичку будет проще взять фреймворк первого поколения (CodeIgniter, Кohana, Yii 1.1.14), чем второго (Yii2, Symfony2, Laravel4 или Zend Framework 2). В первых нет таких «заумных» махинаций с «новомодными штучками», появившимися в PHP с версии 5.3. Но потом всё равно придётся подтягивать уровень. Трудно будет устроиться разработчиком в успешную компанию, не ориентируясь в новшествах языка, фреймворках и в системах автоматизации.

Человек

Светлое будущее

Завершая разработку небольшой CRM-системы, могу утешить, что если вы не испробовали вторую версию в своих новых проектах, то можете пока не расстраиваться, так как только немногие расширения с Yii1 переделаны авторами под Yii2. Соответственно, совсем скоро выйдет стабильный релиз и мигрировавших расширений станет больше. Но, с другой стороны, дефицит разработанных конкретно для Yii2 расширений компенсируется огромной коллекцией независимых компонентов, доступных для лёгкой загрузки с помощью Composer.

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

Сейчас активно пишется официальная документация к Yii2, которая вскоре будет переведена на русский язык. Многие пока побаиваются сочинять рецепты (и, тем более, записывать видео), так как не хотят их переделывать после каждого изменения фреймворка. Но это только начало.

А сейчас...

...интерактивный момент. Так как этот сайт во многом посвящён разработке на Yii и достаточно популярен, то нужно определиться с тем, что появится здесь дальше и в каком формате.

Долистайте вниз до формы комментариев и напишите, какие статьи здесь хотите прочесть, какие подкасты услышать, какие видео-уроки увидеть. По фреймворку, по Composer или по Git. Хотите что-то узнать ещё по Yii1 или пора переходить только на уроки по Yii2? В общем, предлагайте всё, что угодно.

P.S. В тему угарная анимация и саундтрэк:

Итак, жду в комментариях. Заранее спасибо за мнения!

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

Многие сайты и некоторые серверные приложения позволяют обращаться к ним по сети посредством стандартизированного протокола SOAP. Они выкладывают некий открытый API, через который позволяют вызывать некоторые их методы с передачей параметров. При этом масштабы таких систем могут быть совершенно разными: получение прогноза погоды, сеть 1C крупной организации или система бронирования авиабилетов.

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

Хотите сделать приятелю или самому себе подарок в какой-нибудь знаменательный день? Любому человеку, который ведёт какой-нибудь блог и совмещает с этим активную жизнь в твиттере. Ведь не так уж и сложно добавить своему сайту несколько дополнительных переходов из этого микроблога.

Среди комментариев к своим статьям я неожиданно получил сообщение с просьбой дать совет по изучению компьютерной грамотности. Про все технические моменты рассказывать в статье не имеет смысла, так как это невозможно охватить разом, но моральное наставление дать следует. Если кто-то хочет стать крутым компьютерщиком/бизнесменом/президентом, то без личностной трансформации добиться этого проблематично.

Комментарии

 

Андрей Севастьянов

Добрый день, Дмитрий.
Расскажите про новый ActiveRecord во втором Yii. Остались ли прежние проблемы, такие как невозможность сделать нормальные сеттеры/геттеры для атрибутов?

Ответить

 

Аркадий

> невозможность сделать нормальные сеттеры/геттеры для атрибутов
Можно уточнить, что имеется ввиду?

Ответить

 

Андрей Севастьянов

Например.
Есть поле data которое содержит допустим сериализированные данные. Я же хочу получать десериализированные данные (и устанавливать, я вообще не хочу знать что модель с ними делает и как хранит). Я не могу повесить getData/setData.
Все потому что стандартный AR __get сначала проверяет существование значения в массиве атрибутов, потом (!) смотрит есть ли такая колонка и если есть то возвращают null.
https://github.com/yiisoft/yii/blob/1.1.14/framework/db/ar/CActiveRecord.php#L134

Более красивого решения я не придумал чем делать что-то наподобии getSerializedData().

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

Ответить

 

Аркадий

Спасибо за развёрнутый ответ. В самом деле в Yii геттеры так работают, причём не понятно, почему сделано так.
Иногда приходится для подобных задач изменять атрибуты в beforeFind, что совсем не здорово.

Ответить

 

Александр Кузнецов

Вообще, ваше красивое решение является официальным.
Про первую версию, я не знаю почему так сделано, а во второй, это связано с так называемыми dirtyAttributes, нужно для того, чтобы не обновлять все поля в БД при запросе.
То есть, во второй версии, вам придется делать так же.
Хоть я и не стороник этой "джавизации" с магическими геттари и сеттерами, но все же, это самое оптимальное решение.

Ответить

 

Степан

Было бы интересно глянуть, на вашем примере, полный цикл разработки простейшего блога под Yii2, по аналогии с http://www.yiiframework.ru/doc/blog/ru/start.overview

Ответить

 

Денис

Здравствуйте!

Хотелось бы почитать про RBAC, а точнее про DBManager. Говорят, что будет нативная веб-морда для RBAC. А еще меня опечалила работа с MongoDB. Я в первой версии не работал с ней, сразу во второй начал. Так вот, меня дико огорчило то, что нет в ActiveRecord поддержки вложенных документов.

Ответить

 

Alex D

Спасибо!
Презентацию "неасилил" ))) вырубил после 2й минуты - это жесть....

Хотелось бы как раз переходную статью для тех, кто сидел на Yii 1.x и знаком с "новомодными технологиями" из общей теории.
Т.е. фреймворк2+Composer+Git для начинающих.

Ответить

 

Виктор

Здравствуйте.
Присоединяюсь к предыдущему комменту: "yii2+Composer+Git для начинающих".

Ответить

 

Insolita Donna

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

Ответить

 

Антон

Если вы не знаете что такое DI по сей день, я не знаю что вы делаете в веб-программировании.

Ответить

 

Илья

Сам пишу на Yii1.
Yii 2 еще не трогал, нету просто времени и отпугивает отсутствие релиза.
Интересно как раз узнать про новые плюшки в Yii2, какие всё же реальные улучшения (какие-нибудь не большие примеры).

Ответить

 

maleks

Я уже разобрался в принципе с задумкой DI в Yii 2, но вот про использование его элемента Instance так и не вкурил...
Было бы полезным освещение тех вещей, которые присутствуют во фреймворке, но в самой документации или вообще не упоминаются или вскользь.
Я видел там даже какие то моменты с определением языка и т.д.

Ответить

 

Akulenok

очень бы хотелось чтобы вы закидывали еще статьи по Yii1 , добить уж до конца, осталось чуть чуть, например не затронуты загрузки на сайт, может напишите статью о создание фото-галереи + Ajax upload

Ответить

 

Sam Milkin

Я думаю, что изучение Yii 2.0 лучше начать со структуры каталогов приложения. До сих пор не раскрыта тема взаимодействия frontendа и baсkendа. Это будет интересно не только новичкам, но и некоторым профи.

Ответить

 

Дмитрий Брусенский

А что там должно взаимодействовать? На то оно и advanced :)

Ответить

 

Александр Шиллинг

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

Ответить

 

Дамир

добрый день, отличный блог,

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

Ответить

 

maleks

Сразу что еще заметил - почти не описано как пользоваться хелпером yii\helpers\Security

Ответить

 

maleks

Хотя не... По Security есть в доках какое то описание.

Ответить

 

Рамиль

Он уже не в helpers :)

Ответить

 

YoYo

yii2 + Composer + Git

Ответить

 

Василий

Ничего страшного в Yii2 нет. Всё очевидно и просто. Есть документация. И к Yii2 стоит относится как к совершено другому фреймворку, тогда и проблем не будет. А то начинают делать как в Yii, в итоге получаете хрень и кучу глупых вопросов.

Ответить

 

Владимир

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

Вот запускаешь yii2 и не покидает ощущение что yii2 хотели сделать типа Symfony2 ,когда SF2 уже давно можно использовать в production.

Ответить

 

Akulenok

Когда уже начнутся статьи по yii2 ? без вас не разобраться

Ответить

 

kevin7

Добрый вечер, Дмитрий!
Интересует момент прикрутки онлайн платежей (типа robokasa или по-отдельности) к yii1. В просторах инета встречается только один компонент.

Ответить

 

Роман Бурковський

Спасибо за материал, приводит к размышлениям.
Хотелось бы увидеть статьи на все выше упомянутые темы, но с более конкретными примерами. Это может быть описание применения какого-нибудь базового, часто используемого инструмента в первом поколении Yii, и описание аналогичного процесса, но уже на базе Yii2. Далее - сравнение, анализ, выводы.

Ответить

 

Жека Ватрушков

Простейшие уроки по Yii2. Написание блога под Yii2.

Ответить

 

Асанов Ильдар

Привет. Спасибо за работу. Хотелось бы увидеть статью о том, как правильно организовать сео-оптимизацию на yii2, спасибо.

Ответить

 

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

По сути многое как SEO в Yii1, только из явных отличий добавлен уже готовый метод Url::canonical() и для получения маршрута вместо $this->route в представлении нужно явно ссылаться на контроллер как $this->context->route.

Ответить

 

Асанов Ильдар

Спасибо!

Ответить

 

Andrey L

Как создать блог на yii2? Хочется почитать такой же туториал как на оф сайте "Building a Blog System Using Yii" только для yii2, и создать блог самостоятельно.

Ответить

 

Максим

Добрый день!
Хотелось бы увидеть уроки по реализации ajax фильтра, когда отмечаешь чекбокс и ajax подгружает нужную продукцию. На Yii 1 и 2 =)

Ответить

 

Александр Высидалко

Добрый день! Хотелось бы увидеть уроки по реализации RESTful API в шаблоне advanced как отдельное приложение вроде backend.

Ответить

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

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


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



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