Yii 2.1 не будет, встречайте Yii 3.0

Новости и события, связанные с Yii. Организация оффлайн-встреч и конференций.
Ответить
chesar
Сообщения: 468
Зарегистрирован: 2013.04.10, 17:49

Yii 2.1 не будет, встречайте Yii 3.0

Сообщение chesar » 2018.06.11, 10:15

Стала доступна alfa версия yii 3.0
https://github.com/yiisoft/yii2/release ... 0.0-alpha1

Почему не 2.1? Core team решили все же придерживаться общепринятого semver и все разработки ветки 2.1 релизнуть 3 версией.

springimport
Сообщения: 6
Зарегистрирован: 2016.05.25, 17:17

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение springimport » 2018.06.12, 16:24

А есть где-то комментарии по этому поводу?

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

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение samdark » 2018.06.14, 12:55

Что именно интересно? Анонс пока не написан.

Nex-Otaku
Сообщения: 809
Зарегистрирован: 2016.07.09, 21:07

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение Nex-Otaku » 2018.06.18, 14:46

Интересует:
1. Что сильно изменилось из старого
2. Что нового добавлено

В двух словах ) Заодно и анонс потом проще напишется ;)

Аватара пользователя
SiZE
Сообщения: 2579
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение SiZE » 2018.06.18, 15:34

Nex-Otaku писал(а):
2018.06.18, 14:46
Интересует:
1. Что сильно изменилось из старого
2. Что нового добавлено

В двух словах ) Заодно и анонс потом проще напишется ;)
https://github.com/yiisoft/yii2/blob/3. ... ANGELOG.md


Nex-Otaku
Сообщения: 809
Зарегистрирован: 2016.07.09, 21:07

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение Nex-Otaku » 2018.06.20, 19:13

Это не в двух словах, а огромная портянка всякой всячины. В том-то и дело.

Да ещё и на английском. Фу.

Аватара пользователя
maleks
Сообщения: 1631
Зарегистрирован: 2012.12.26, 12:56

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение maleks » 2018.08.06, 14:10

А что, yii3 и yii2 уже полностью разошлись путями? Как было с yii1-yii2, когда разные фреймворки?

В yiisoft/yii2 смотрю есть ветка 3.0 и теги там выставляются 3.0.0 для issue и PR

И в тоже время в этом - yiisoft/core - репозитории ядро yii3, в нем ведется разработка yii3?
Неужто все решили по независимым компонентам делать, даже бд и ar orm ?

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

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение samdark » 2018.08.06, 21:10

Да, решили разделить. Компоненты не все независимые, но мы к этому идём. Совместимости будет больше, чем 1.1 -> 2.0, но полной не будет.

anton_z
Сообщения: 352
Зарегистрирован: 2017.01.15, 15:01

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение anton_z » 2018.08.07, 12:31

А почему решили совсем от SL отказаться? Слишком радикально по мне. Весь Yii вокруг Yii::$app строился (10 лет), доступность этого синглтона дает большую свободу действий, что позволяет быстро решать задачи.

Еще я пользовался возможностью замещения компонентов в модулях (речь о db) https://www.yiiframework.com/doc/guide/ ... in-modules и внедрением в модули, а теперь как что-то подобное делать, чтобы модули были более-менее законченными единицами:

Код: Выделить всё


'modules' => [
    'mymodule' => [
        'components' => [
            'db' => [
                'tablePrefix' => 'module_',
                'class' => Connection::class
            ],
            'my_component' => [
               'class' => MyComoponent::class
            ]
        ],
    ],
],



Модель внутри модуля:

Код: Выделить всё


class MyModel extends ActiveRecord
{

        private $my_component;
        
        
        public function init()
        {
        	$this->my_component = Instance::ensure('my_component', MyComponent::class, MyModule::getInstance())    
        }

	public function getDb()
	{
		return MyModule::getInstance()->get('db');
	}

{


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

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение samdark » 2018.08.07, 12:53

Контейнер прокинуть в модуль. DI поддерживает наследование контейнеров.

anton_z
Сообщения: 352
Зарегистрирован: 2017.01.15, 15:01

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение anton_z » 2018.08.07, 13:24

samdark писал(а):
2018.08.07, 12:53
Контейнер прокинуть в модуль. DI поддерживает наследование контейнеров.
А можно пример, как именно это сделать, я не понял как прокинуть контейнер. https://github.com/yiisoft/core/blob/ma ... e.php#L156 И что нужно делать чтоб у модуля был свой компонент с id 'db', а у приложения свой.

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

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение samdark » 2018.08.07, 22:43

Так речь про 3.0, а не про 2.1. Там вот такой контейнер: https://github.com/yiisoft/di

anton_z
Сообщения: 352
Зарегистрирован: 2017.01.15, 15:01

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение anton_z » 2018.08.08, 01:57

samdark писал(а):
2018.08.07, 22:43
Так речь про 3.0, а не про 2.1. Там вот такой контейнер: https://github.com/yiisoft/di
А yiisoft/core, на который я ссылку (на конструктор модуля) привел, это разве не 3.0?

Я понял так, пожалуйста, поправьте, если неправ:

1. Наследуемся от модуля https://github.com/yiisoft/core/blob/ma ... Module.php.
2. В конструкторе своего модуля требуем контейнер.
3. Внутри модуля делаем свой контейнер (new Container), в него устанавливаем модульные зависимости.
4. В Module::get($id) и Module::has($id) опрашиваем сначала внутренний контейнер, потом внешний.
5. Внутри модуля юзаем либо модульный контейнер Module::getInstance()->getContainer()->get($id), либо Module::getInstance()->get($id) как и раньше.

А нельзя для модуля из коробки такое сделать?
Последний раз редактировалось anton_z 2018.08.08, 04:59, всего редактировалось 3 раза.

anton_z
Сообщения: 352
Зарегистрирован: 2017.01.15, 15:01

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение anton_z » 2018.08.08, 02:08

И еще вопрос, что в Yii 3.x по всему коду будете заменять Yii::$app на внедрение Application через конструктор? Смотрю в yiisoft/core hiqsol уже это делает. Лично меня это настораживает, не по прежним канонам это.

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

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение samdark » 2018.08.08, 18:07

core - это Yii, да. Его часть.

Для модуля из коробки можно такое сделать, но руки не дошли (и, возможно, не дойдут). Помогайте.
И еще вопрос, что в Yii 3.x по всему коду будете заменять Yii::$app на внедрение Application через конструктор? Смотрю в yiisoft/core hiqsol уже это делает. Лично меня это настораживает, не по прежним канонам это.
От Service Locator уходим, да. От старого надо забирать лучшее и, по возможности, переделывать не очень хорошее.

Аватара пользователя
maleks
Сообщения: 1631
Зарегистрирован: 2012.12.26, 12:56

Re: Yii 2.1 не будет, встречайте Yii 3.0

Сообщение maleks » 2018.08.11, 08:39

anton_z писал(а):
2018.08.08, 01:57
А нельзя для модуля из коробки такое сделать?
Добавили бы туда соответствующее issue, чтоб это наблюдение не пропало даром.

Ответить