$30 off During Our Annual Pro Sale. View Details »

Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун

fwdays
November 18, 2014

Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун

fwdays

November 18, 2014
Tweet

More Decks by fwdays

Other Decks in Programming

Transcript

  1. Yii2 - на пути от Alpha до
    GA. Практический взгляд
    Александр Бордун
    EuroMD Ltd.
    [email protected]
    @yiiframework_ua @borales
    @yiiframework-ua @borales

    View Slide

  2. Небольшая история Yii 2.0
    Релиз – 12 октября 2014
    •  ~3.5 года с момента первого коммита
    •  >10k коммитов за это время
    •  >300 авторов

    View Slide

  3. View Slide

  4. Сравнение версий Yii
    1.1 vs. 2.0

    View Slide

  5. Переход с Yii 1.1 на 2.0
    •  php >=5.4.0
    •  Пространства имён (по умолчанию)
    •  Анонимные функции, SPL, trait
    •  Позднее статическое связывание
    •  Datetime, intl
    •  Composer (опционально)

    View Slide

  6. Config (config/main.php)

    View Slide

  7. Controller (controllers/SiteController.php)

    View Slide

  8. View (views/site/index.php)

    View Slide

  9. register(js|css|metaTag)

    View Slide

  10. Widget

    View Slide

  11. Event (v1.1)

    View Slide

  12. Event (v2.0)

    View Slide

  13. Alias

    View Slide

  14. Нововведения
    в Yii 2.0

    View Slide

  15. «Из коробки»
    •  Набор официальных расширений
    •  DI Container, Service Locator
    •  AssetBundle (+ конвертер)
    •  REST API framework, Twitter Bootstrap
    •  Инструменты отладки (Yii2-Debug)

    View Slide

  16. AssetBundle (config)

    View Slide

  17. AssetBundle (register)

    View Slide

  18. REST API (подготовка)

    View Slide

  19. REST API (запрос)

    View Slide

  20. Yii2-Debug Module
    Yii 1.1 module backport github.com/zhuravljov/yii2-debug

    View Slide

  21. Вывод ошибок и исключений

    View Slide

  22. Request / Response

    View Slide

  23. Конфигурация DB

    View Slide

  24. ActiveRecord (find)

    View Slide

  25. ActiveRecord (relations)

    View Slide

  26. RBAC

    View Slide

  27. Security Helper

    View Slide

  28. Сообщество, документация
    •  Переводы сообщений фреймворка
    сделаны на ~40 языков
    •  Переводы руководства в процессе
    перевода на >10 языков
    •  Larry Ullman (технический писатель)
    помогает работать над руководством

    View Slide

  29. EuroMD и Yii 2.0
    •  Старт работы над проектом – январь’14
    •  Стадия разработки Yii 2.0 – Alpha
    •  Хотелось чего-то нового…

    View Slide

  30. Опыт проекта EuroMD с Yii 2.0

    View Slide

  31. Traits / ActiveQuery / Scopes (init)

    View Slide

  32. Traits / ActiveQuery / Scopes (use)

    View Slide

  33. Composer Asset Plugin (beta4)
    •  Добавление пакетов от NPM/Bower
    •  Не требует установленных NPM/Bower
    •  Решил проблему с обновлением
    нескольких менеджеров зависимостей
    •  Добавил новую – долгое время
    обновления пакетов

    View Slide

  34. HTML helper (свой)

    View Slide

  35. ActiveForm / ActiveField (свои)
    •  Корректировка повторяемой верстки
    •  Расширили классы ActiveForm и
    ActiveField для свои виджетов

    View Slide

  36. Небольшие шишки
    •  В EuroMD используется Advanced
    Template структуры папок, при этом –
    все конфиги внесены в репозиторий
    •  В процессе развития фреймворка
    ActiveForm js callbacks – были
    перенесены на events

    View Slide

  37. Текущее состояние Yii 2.0
    •  Готов к “production” использованию
    •  Готовится обновление оф. сайта (в том
    числе визуальное обновление разделов
    документации и API)
    Milestone Yii 2.0.1 на 7 декабря

    View Slide

  38. Рекомендации
    •  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

    View Slide

  39. Вопросы?

    View Slide