Страница 1 из 1

Yii 2.x -> Yii 3.x

Добавлено: 2019.12.22, 17:34
crows
Добрый день.

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

Спасибо.

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

Добавлено: 2019.12.22, 19:34
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, а можно и доктрину ту же прикрутить. Это то, что я вижу, глубоко не вникал.

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

Добавлено: 2019.12.23, 19:16
samdark
Совместимости вроде "скопировал и работает" не будет. В ответе yiiliveext, в принципе, всё верно.

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

Добавлено: 2020.01.10, 17:24
Tommi
Если AR не портируют на Yii3, вернее вычленят отдельным пакетом, то такие переводы будут выглядеть как фантастика.

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

Добавлено: 2020.01.11, 23:26
yiiliveext
Tommi писал(а):
2020.01.10, 17:24
Если AR не портируют на Yii3, вернее вычленят отдельным пакетом, то такие переводы будут выглядеть как фантастика.
Лично я бы не портировал. AR там будет как корове седло.

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

Добавлено: 2020.01.13, 02:29
anton_z
yiiliveext писал(а):
2020.01.11, 23:26
Лично я бы не портировал. AR там будет как корове седло.
Почему?

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

Добавлено: 2020.01.13, 14:41
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, это можно будет сделать, и тогда каждый уже будет решать сам, что ему использовать, имея опыт работы с тем и другим паттерном.

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

Добавлено: 2020.01.17, 19:22
tmp0000
CycleORM? Почему не условный Eloquent?

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

Добавлено: 2020.01.18, 05:29
chungachguk
tmp0000 писал(а):
2020.01.17, 19:22
CycleORM? Почему не условный Eloquent?
Eloquent? Почему не условный CycleORM?

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

Добавлено: 2020.01.18, 22:52
yiiliveext
tmp0000 писал(а):
2020.01.17, 19:22
CycleORM? Почему не условный Eloquent?
Ничего, что это разные паттерны?

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

Добавлено: 2020.01.21, 16:48
maleks
А это, упоминаемое в yiisoft/yii-gii, для чего?
Будет это вот тот AR от CycleORM?

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

Добавлено: 2020.01.21, 21:56
yiiliveext
maleks писал(а):
2020.01.21, 16:48
А это, упоминаемое в yiisoft/yii-gii, для чего?
Будет это вот тот AR от CycleORM?
А посмотреть исходники не судьба?
Это наследие из попыток сделать Yii 2.1
Хотя, судя из composer.json, таки у кого-то есть желание протащить это в Yii3, так что возможно, что вы даже частично правы.
Но, как по мне, то это полное безумие.

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

Добавлено: 2020.01.21, 23:45
samdark
Gii ещё не доделан. Этой зависимости там не будет.

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

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

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

И, кстати, в качестве обучающего примера не планируется ли это сделать? ;)

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

Добавлено: 2020.01.29, 18:33
samdark
Этот не долго. Можно за 3-4 дня управиться, если не меньше. В качестве обучающего делается блог.

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

Добавлено: 2020.01.30, 10:53
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"?
Вот так вот с ходу, просмотрев код и конфиг на гитхабе, даже не нашел. Что за магия?

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

Добавлено: 2020.01.30, 19:41
samdark
Выпилили, а readme поправить забыли.