ݺߣ

ݺߣShare a Scribd company logo
Yii2 - на пути от Alpha до 
GA. Практический взгляд 
Александр Бордун 
EuroMD Ltd. 
bordun.alexandr@gmail.com 
@yiiframework_ua @borales 
@yiiframework-ua @borales
Небольшая история Yii 2.0 
Релиз – 12 октября 2014 
• ~3.5 года с момента первого коммита 
• >10k коммитов за это время 
• >300 авторов
Yii2 - от Alpha до GA (release)
Сравнение версий Yii 
1.1 vs. 2.0
Переход с Yii 1.1 на 2.0 
• php >=5.4.0 
• Пространства имён (по умолчанию) 
• Анонимные функции, SPL, trait 
• Позднее статическое связывание 
• Datetime, intl 
• Composer (опционально)
Config (config/main.php)
Controller (controllers/SiteController.php)
View (views/site/index.php)
register(js|css|metaTag)
Widget
Event (v1.1)
Event (v2.0)
Alias
Нововведения 
в Yii 2.0
«Из коробки» 
• Набор официальных расширений 
• DI Container, Service Locator 
• AssetBundle (+ конвертер) 
• REST API framework, Twitter Bootstrap 
• Инструменты отладки (Yii2-Debug)
AssetBundle (config)
AssetBundle (register)
REST API (подготовка)
REST API (запрос)
Yii2-Debug Module 
Yii 1.1 module backport github.com/zhuravljov/yii2-debug
Вывод ошибок и исключений
Request / Response
Конфигурация DB
ActiveRecord (find)
ActiveRecord (relations)
RBAC
Security Helper
Сообщество, документация 
• Переводы сообщений фреймворка 
сделаны на ~40 языков 
• Переводы руководства в процессе 
перевода на >10 языков 
• Larry Ullman (технический писатель) 
помогает работать над руководством
EuroMD и Yii 2.0 
• Старт работы над проектом – январь’14 
• Стадия разработки Yii 2.0 – Alpha 
• Хотелось чего-то нового…
Опыт проекта EuroMD с Yii 2.0
Traits / ActiveQuery / Scopes (init)
Traits / ActiveQuery / Scopes (use)
Composer Asset Plugin (beta4) 
• Добавление пакетов от NPM/Bower 
• Не требует установленных NPM/Bower 
• Решил проблему с обновлением 
нескольких менеджеров зависимостей 
• Добавил новую – долгое время 
обновления пакетов
HTML helper (свой)
ActiveForm / ActiveField (свои) 
• Корректировка повторяемой верстки 
• Расширили классы ActiveForm и 
ActiveField для свои виджетов
Небольшие шишки 
• В EuroMD используется Advanced 
Template структуры папок, при этом – 
все конфиги внесены в репозиторий 
• В процессе развития фреймворка 
ActiveForm js callbacks – были 
перенесены на events
Текущее состояние Yii 2.0 
• Готов к “production” использованию 
• Готовится обновление оф. сайта (в том 
числе визуальное обновление разделов 
документации и API) 
Milestone Yii 2.0.1 на 7 декабря
Рекомендации 
• github.com/iJackUA/awesome-yii 
• stdout.in/ru/cat/coding 
• github.com/vova07/yii2-start 
• github.com/samdark/yii2-cookbook 
• github.com/kartik-v/* 
• yiiframework.com.ua yiiframework.ru
Вопросы?
Ad

Recommended

"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
Badoo Development
Seminar6 configuring amp-amp_testing_yournetwork
Seminar6 configuring amp-amp_testing_yournetwork
Grigoriy Khazankin
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Positive Hack Days
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Ontico
presentation_r00t_conf
presentation_r00t_conf
Max Glekov
Формальная верификация кода на языке Си
Формальная верификация кода на языке Си
Positive Hack Days
Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
Релиз-инжениринг Mail.ru. Взгляд изнутри. Максим Глеков, Mail.Ru Group, Москва
it-people
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Ontico
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Minsk PHP User Group
UWDC'12, Александр Макаров, Yii, его разработка и Yii2
UWDC'12, Александр Макаров, Yii, его разработка и Yii2
Alexander Makarov
Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016
pbiryukov
Презентация jQuery
Презентация jQuery
Илья Барышев
Презентация JQuery от Future Colors
Презентация JQuery от Future Colors
Илья Барышев
Sivko
Sivko
kuchinskaya
Основы Symfony и отличия Sf 3.x от Sf 2.x
Основы Symfony и отличия Sf 3.x от Sf 2.x
IT61
Feature toggles в процессе подбора, Алексей Ульенков СберТех
Feature toggles в процессе подбора, Алексей Ульенков СберТех
Сбертех | SberTech
Встречайте Zend Framework 2.0
Встречайте Zend Framework 2.0
zfconfua
Drupal хостинг
Drupal хостинг
DrupalSib
Git presentation
Git presentation
Alexandr Babenko
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developer
LEDC 2016
Основные возможности Symfony 2
Основные возможности Symfony 2
Shevchuk
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Ontico
GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?
Tados
Jiramania презентации @augspb
Jiramania презентации @augspb
Gonchik Tsymzhitov
Введение в Python и Django
Введение в Python и Django
Taras Lyapun
Yii rit 2010
Yii rit 2010
Alexander Makarov
12 reasons to love symfony2
12 reasons to love symfony2
Alexei Smolyanov
Team workflow
Team workflow
Даниил Зайцев

More Related Content

Similar to Yii2 - от Alpha до GA (release) (20)

Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Minsk PHP User Group
UWDC'12, Александр Макаров, Yii, его разработка и Yii2
UWDC'12, Александр Макаров, Yii, его разработка и Yii2
Alexander Makarov
Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016
pbiryukov
Презентация jQuery
Презентация jQuery
Илья Барышев
Презентация JQuery от Future Colors
Презентация JQuery от Future Colors
Илья Барышев
Sivko
Sivko
kuchinskaya
Основы Symfony и отличия Sf 3.x от Sf 2.x
Основы Symfony и отличия Sf 3.x от Sf 2.x
IT61
Feature toggles в процессе подбора, Алексей Ульенков СберТех
Feature toggles в процессе подбора, Алексей Ульенков СберТех
Сбертех | SberTech
Встречайте Zend Framework 2.0
Встречайте Zend Framework 2.0
zfconfua
Drupal хостинг
Drupal хостинг
DrupalSib
Git presentation
Git presentation
Alexandr Babenko
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developer
LEDC 2016
Основные возможности Symfony 2
Основные возможности Symfony 2
Shevchuk
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Ontico
GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?
Tados
Jiramania презентации @augspb
Jiramania презентации @augspb
Gonchik Tsymzhitov
Введение в Python и Django
Введение в Python и Django
Taras Lyapun
Yii rit 2010
Yii rit 2010
Alexander Makarov
12 reasons to love symfony2
12 reasons to love symfony2
Alexei Smolyanov
Team workflow
Team workflow
Даниил Зайцев
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Обзор Drupal 8 by Andrei Khalipau, Kostya Halipov and Егор Богатырёв
Minsk PHP User Group
UWDC'12, Александр Макаров, Yii, его разработка и Yii2
UWDC'12, Александр Макаров, Yii, его разработка и Yii2
Alexander Makarov
Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016
pbiryukov
Презентация JQuery от Future Colors
Презентация JQuery от Future Colors
Илья Барышев
Основы Symfony и отличия Sf 3.x от Sf 2.x
Основы Symfony и отличия Sf 3.x от Sf 2.x
IT61
Feature toggles в процессе подбора, Алексей Ульенков СберТех
Feature toggles в процессе подбора, Алексей Ульенков СберТех
Сбертех | SberTech
Встречайте Zend Framework 2.0
Встречайте Zend Framework 2.0
zfconfua
Drupal хостинг
Drupal хостинг
DrupalSib
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developer
LEDC 2016
Основные возможности Symfony 2
Основные возможности Symfony 2
Shevchuk
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Ontico
GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?
Tados
Jiramania презентации @augspb
Jiramania презентации @augspb
Gonchik Tsymzhitov
Введение в Python и Django
Введение в Python и Django
Taras Lyapun

Yii2 - от Alpha до GA (release)