yii2 - от alpha до ga (release)

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

Upload: alexandr-bordun

Post on 17-Jul-2015

296 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Yii2 - от Alpha до GA (release)

Yii2 - на пути от Alpha до GA. Практический взгляд

Александр Бордун EuroMD Ltd.

[email protected]

@yiiframework_ua @borales

@yiiframework-ua @borales

Page 2: Yii2 - от Alpha до GA (release)

Небольшая история Yii 2.0

Релиз – 12 октября 2014

•  ~3.5 года с момента первого коммита

•  >10k коммитов за это время

•  >300 авторов

Page 3: Yii2 - от Alpha до GA (release)
Page 4: Yii2 - от Alpha до GA (release)

Сравнение версий Yii

1.1 vs. 2.0

Page 5: Yii2 - от Alpha до GA (release)

Переход с Yii 1.1 на 2.0

•  php >=5.4.0

•  Пространства имён (по умолчанию)

•  Анонимные функции, SPL, trait

•  Позднее статическое связывание

•  Datetime, intl

•  Composer (опционально)

Page 6: Yii2 - от Alpha до GA (release)

Config (config/main.php)

Page 7: Yii2 - от Alpha до GA (release)

Controller (controllers/SiteController.php)

Page 8: Yii2 - от Alpha до GA (release)

View (views/site/index.php)

Page 9: Yii2 - от Alpha до GA (release)

register(js|css|metaTag)

Page 10: Yii2 - от Alpha до GA (release)

Widget

Page 11: Yii2 - от Alpha до GA (release)

Event (v1.1)

Page 12: Yii2 - от Alpha до GA (release)

Event (v2.0)

Page 13: Yii2 - от Alpha до GA (release)

Alias

Page 14: Yii2 - от Alpha до GA (release)

Нововведения

в Yii 2.0

Page 15: Yii2 - от Alpha до GA (release)

«Из коробки»

•  Набор официальных расширений

•  DI Container, Service Locator

•  AssetBundle (+ конвертер)

•  REST API framework, Twitter Bootstrap

•  Инструменты отладки (Yii2-Debug)

Page 16: Yii2 - от Alpha до GA (release)

AssetBundle (config)

Page 17: Yii2 - от Alpha до GA (release)

AssetBundle (register)

Page 18: Yii2 - от Alpha до GA (release)

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

Page 19: Yii2 - от Alpha до GA (release)

REST API (запрос)

Page 20: Yii2 - от Alpha до GA (release)

Yii2-Debug Module

Yii 1.1 module backport github.com/zhuravljov/yii2-debug

Page 21: Yii2 - от Alpha до GA (release)

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

Page 22: Yii2 - от Alpha до GA (release)

Request / Response

Page 23: Yii2 - от Alpha до GA (release)

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

Page 24: Yii2 - от Alpha до GA (release)

ActiveRecord (find)

Page 25: Yii2 - от Alpha до GA (release)

ActiveRecord (relations)

Page 26: Yii2 - от Alpha до GA (release)

RBAC

Page 27: Yii2 - от Alpha до GA (release)

Security Helper

Page 28: Yii2 - от Alpha до GA (release)

Сообщество, документация

•  Переводы сообщений фреймворка

сделаны на ~40 языков

•  Переводы руководства в процессе

перевода на >10 языков

•  Larry Ullman (технический писатель)

помогает работать над руководством

Page 29: Yii2 - от Alpha до GA (release)

EuroMD и Yii 2.0

•  Старт работы над проектом – январь’14

•  Стадия разработки Yii 2.0 – Alpha

•  Хотелось чего-то нового…

Page 30: Yii2 - от Alpha до GA (release)

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

Page 31: Yii2 - от Alpha до GA (release)

Traits / ActiveQuery / Scopes (init)

Page 32: Yii2 - от Alpha до GA (release)

Traits / ActiveQuery / Scopes (use)

Page 33: Yii2 - от Alpha до GA (release)

Composer Asset Plugin (beta4)

•  Добавление пакетов от NPM/Bower

•  Не требует установленных NPM/Bower

•  Решил проблему с обновлением

нескольких менеджеров зависимостей

•  Добавил новую – долгое время

обновления пакетов

Page 34: Yii2 - от Alpha до GA (release)

HTML helper (свой)

Page 35: Yii2 - от Alpha до GA (release)

ActiveForm / ActiveField (свои)

•  Корректировка повторяемой верстки

•  Расширили классы ActiveForm и

ActiveField для свои виджетов

Page 36: Yii2 - от Alpha до GA (release)

Небольшие шишки

•  В EuroMD используется Advanced

Template структуры папок, при этом –

все конфиги внесены в репозиторий

•  В процессе развития фреймворка

ActiveForm js callbacks – были

перенесены на events

Page 37: Yii2 - от Alpha до GA (release)

Текущее состояние Yii 2.0

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

Milestone Yii 2.0.1 на 7 декабря

Page 38: Yii2 - от Alpha до GA (release)

Рекомендации

•  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

Page 39: Yii2 - от Alpha до GA (release)

Вопросы?