Yii 2.x -> Yii 3.x

Получаем ответы на свои вопросы по Yii 3
Ответить
crows
Сообщения: 289
Зарегистрирован: 2012.03.03, 10:37

Yii 2.x -> Yii 3.x

Сообщение crows »

Добрый день.

Так сложилось, что Yii 2.x является основным инструментом в разработке. За что, команде проекта, большое спасибо. В связи с этим, хотелось бы узнать на сколько Yii 3 будет совместим с Yii 2? Можно ли будет портировать код 2.x на 3.x? Как сложно это будет сделать?

Спасибо.
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Yii 2.x -> Yii 3.x

Сообщение yiiliveext »

crows писал(а): 2019.12.22, 17:34 Добрый день.

Так сложилось, что Yii 2.x является основным инструментом в разработке. За что, команде проекта, большое спасибо. В связи с этим, хотелось бы узнать на сколько Yii 3 будет совместим с Yii 2? Можно ли будет портировать код 2.x на 3.x? Как сложно это будет сделать?

Спасибо.
Зависит от того, насколько вы писали код в стиле framework-agnostic. А так, надо будет переписать контроллеры, роутинг, события, частично вьюхи. Убрать магию и использование сервис-локатора, если не портируют ActiveRecord, то перепесать все под свой DataMapper или использовать идущий с Yii 3 CycleORM, а можно и доктрину ту же прикрутить. Это то, что я вижу, глубоко не вникал.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Yii 2.x -> Yii 3.x

Сообщение samdark »

Совместимости вроде "скопировал и работает" не будет. В ответе yiiliveext, в принципе, всё верно.
Tommi
Сообщения: 90
Зарегистрирован: 2013.08.01, 13:44

Re: Yii 2.x -> Yii 3.x

Сообщение Tommi »

Если AR не портируют на Yii3, вернее вычленят отдельным пакетом, то такие переводы будут выглядеть как фантастика.
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Yii 2.x -> Yii 3.x

Сообщение yiiliveext »

Tommi писал(а): 2020.01.10, 17:24 Если AR не портируют на Yii3, вернее вычленят отдельным пакетом, то такие переводы будут выглядеть как фантастика.
Лично я бы не портировал. AR там будет как корове седло.
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: Yii 2.x -> Yii 3.x

Сообщение anton_z »

yiiliveext писал(а): 2020.01.11, 23:26 Лично я бы не портировал. AR там будет как корове седло.
Почему?
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Yii 2.x -> Yii 3.x

Сообщение yiiliveext »

anton_z писал(а): 2020.01.13, 02:29 Почему?
Потому что Yii 3 кардинально отличается по архитектуре от Yii 2 и в этом плане AR не в духе Yii 3.
Так же как в свое время Symfony отказалась от Propel в пользу Doctrine, так и Yii 3 должен отказаться от AR в пользу CycleORM. Или Doctrine. Но так как Doctrine сама по себе штука тяжелая и в ней есть масса нюансов, то CycleORM - отличный выбор. Я немного поигрался с CycleORM - штука довольно приятная. Ну и для адептов AR, с помощью CycleORM легким движением руки создается AR.
Но, должен заметить, что идея портирования Yii 2 AR в отдельную, независимую ORM, сама по себе неплохая. Так же как и в последних версиях Symfony можно использовать Propel, так и в Yii 3 должна быть возможность использовать базирующуюся на AR ORM, в качестве которой может выступать портированная из Yii 2 ActiveRecord. Но делать я бы это не спешил, дабы не тянуть "болезни" разработчиков на Yii 2 в разработку на новой версии фреймворка. А со временем, когда разработчики пообвыкнутся с Yii 3 и работе с CycleORM, это можно будет сделать, и тогда каждый уже будет решать сам, что ему использовать, имея опыт работы с тем и другим паттерном.
tmp0000
Сообщения: 29
Зарегистрирован: 2015.07.23, 12:29

Re: Yii 2.x -> Yii 3.x

Сообщение tmp0000 »

CycleORM? Почему не условный Eloquent?
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: Yii 2.x -> Yii 3.x

Сообщение chungachguk »

tmp0000 писал(а): 2020.01.17, 19:22 CycleORM? Почему не условный Eloquent?
Eloquent? Почему не условный CycleORM?
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Yii 2.x -> Yii 3.x

Сообщение yiiliveext »

tmp0000 писал(а): 2020.01.17, 19:22 CycleORM? Почему не условный Eloquent?
Ничего, что это разные паттерны?
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Yii 2.x -> Yii 3.x

Сообщение maleks »

А это, упоминаемое в yiisoft/yii-gii, для чего?
Будет это вот тот AR от CycleORM?
Yii2 universal module sceleton - for basic and advanced templates
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Yii 2.x -> Yii 3.x

Сообщение yiiliveext »

maleks писал(а): 2020.01.21, 16:48 А это, упоминаемое в yiisoft/yii-gii, для чего?
Будет это вот тот AR от CycleORM?
А посмотреть исходники не судьба?
Это наследие из попыток сделать Yii 2.1
Хотя, судя из composer.json, таки у кого-то есть желание протащить это в Yii3, так что возможно, что вы даже частично правы.
Но, как по мне, то это полное безумие.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Yii 2.x -> Yii 3.x

Сообщение samdark »

Gii ещё не доделан. Этой зависимости там не будет.

yiisoft/active-record - да, наследие. Wilmer хочет попробовать портировать и посмотреть, что получится. Скорее всего ничего нормального из этого не выйдет, но мало ли...
ded
Сообщения: 13
Зарегистрирован: 2011.06.09, 13:40

Re: Yii 2.x -> Yii 3.x

Сообщение ded »

Александр,
вот есть такой проект на yii2: https://github.com/samdark/yiiframework-ru
сколько времени нужно что бы переписать его на yii3?

И, кстати, в качестве обучающего примера не планируется ли это сделать? ;)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Yii 2.x -> Yii 3.x

Сообщение samdark »

Этот не долго. Можно за 3-4 дня управиться, если не меньше. В качестве обучающего делается блог.
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: Yii 2.x -> Yii 3.x

Сообщение yiiliveext »

samdark писал(а): 2020.01.29, 18:33 Этот не долго. Можно за 3-4 дня управиться, если не меньше. В качестве обучающего делается блог.
Там по ссылке есть описание
Project includes three tiers: front end, back end, and console, each of which is a separate Yii application.
Я дико извиняюсь, а где там этот "back end tier"?
Вот так вот с ходу, просмотрев код и конфиг на гитхабе, даже не нашел. Что за магия?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Yii 2.x -> Yii 3.x

Сообщение samdark »

Выпилили, а readme поправить забыли.
Ответить