<rmcreative>

RSS

Yii 2 alpha

2 декабря 2013

Вышла первая альфа версия Yii 2. Скачать в виде архива её можно с официального сайта. Там же приведены инструкции по установке через Composer.

Yii 2 является полностью переделанной версией одного из самых популярных PHP-фреймворков. В новой версии унаследован общий дух первой версии, а именно стремление к простоте, скорости и расширяемости. В Yii 2 применяются многие возможности PHP 5.4. Фреймворк следует лучшим практикам современной веб-разработки.

Полное описание возможностей вы можете найти в полном руководстве и, в особенности в разделе с отличиями от версии 1.1.

Выпуск альфы является важным событием в разработке Yii 2 и означает, что код достиг определённой степени стабильности. Если вы только начинаете изучать Yii или у ваш проект не ограничен жёсткими временными рамками, можно попробовать новую версию. Не используйте Yii 2 в боевых проектах так как команда фреймворка всё ещё может внести значительные изменения без каких-либо предварительных уведомлений.

В течение двух лет было получено огромное количество кода от сообщества. Спасибо вам, что сделали этот релиз возможным.

Комментарии RSS

  1. №8657
    Spider
    Spider 02 дек. 2013 г., 23:59:27

    Отличная новость! Есть один вопрос. А зачем объекту метод className? в 5.4 же вроде есть ::class, который делает то же самое?

  2. №8659
    Sam
    Sam 03 дек. 2013 г., 0:32:05

    Spider, в 5.5.

  3. №8661
    Ильдар
    Ильдар 03 дек. 2013 г., 11:23:26

    Великолепная новость!

  4. №8662
    Александр
    Александр 03 дек. 2013 г., 11:50:31

    Александр, какие же у вас тролли на гитхабе: https://github.com/yiisoft/yii2/issues/1368

    Вы молодцы, что не слушаете теоретиков и троллей и делаете Yii именно для того, что бы можно было писать быстро, просто, качественно и расширяемо.

    Спасибо за труды!

  5. №8664
    MrArthur
    MrArthur 03 дек. 2013 г., 17:35:42

    Отлично! Быстрее бы stable :)

    Такой вопрос... Сейчас в свободное время делаю проект на 1.x, сроков жестких нет, т.к. делаю для себя. Планирую запустить примерно через пол года. Стоит ли делать его сразу на Yii 2? Обновлять потом с 1.x на 2.x, как я понял, будет проблемно?

  6. №8668
    Sam
    Sam 03 дек. 2013 г., 22:15:18

    В этом случае можно и на Yii 2. Только сразу будьте готовы к нежданным поломкам и багам.

  7. №8669
    Максим
    Максим 03 дек. 2013 г., 22:43:39

    Еще бы бутстрап не был так костыльно вшит в CHtml и ActiveField и можно было бы переезжать.

  8. №8671
    krasavcheg
    krasavcheg 03 дек. 2013 г., 23:51:29

    Думаю на то она и alpha чтобы люди пробовали что плохо лежит)

  9. №8674
    kmtz
    kmtz 04 дек. 2013 г., 3:30:35

    Не могу сообразить, каким образом в yii2 искать по внешнему ключу?

  10. №8675
    Алексей
    Алексей 04 дек. 2013 г., 8:27:24

    Такое? - www.yiiframework.ru/forum/viewtopic.php?f=19&t=15707 Или что вы хотите, kmtz?

  11. №8676
    kmtz
    kmtz 04 дек. 2013 г., 8:38:36

    Алексей,

    Да, именно такое... Попробовал сейчас совет mc-bear , тоже не получается. Пойду на форум спрашивать, там это более уместно.

  12. №8677
    Дмитрий
    Дмитрий 04 дек. 2013 г., 9:59:26

    Классно. В общем общими усилиями делаем интеграцию с elastichSeach, и внедряем codeception.

  13. №8678
    Александр
    Александр 04 дек. 2013 г., 22:47:24

    Sam, нет возможности ответить на хабре в теме про альфу Yii2. Зачем вы вообще этим троллям отвечаете и тратите свое время. Это обычные теоретики, которые просто любят сидеть и писать и писать всякую чушь. Не нравятся Yii - пусть не используют (никто не заставляет).

    Сейчас ищу уже давно работу, много где бывают на собеседованиях, много где общаюсь online. Могу сказать одно: Yii намного популярнее других фреймворков, он очень набирает обороты. Вы сделал качественный продукт, который позволил разрабатывать и большие и малые приложения быстро и расширяемо.

    Yii2 просто бомба, очень круто. Единственно, он все таки труднее для освоения, чем первая версия, но это не минус и не плюс.

  14. №8679
    Nicolai
    Nicolai 05 дек. 2013 г., 16:03:23

    Сегодня пришел сборник рецептов по Yii. Планируется ли книга по Yii2? Если да, то когда? Спасибо

  15. №8680
    Sam
    Sam 06 дек. 2013 г., 13:31:46

    Если и будет, то после релиза Yii2.

  16. №8686
    Дмитрий
    Дмитрий 10 дек. 2013 г., 9:44:37

    Слушай, такой вопрос, была отдельная ветка по редису, вы её вынесли как расширение, в само ядро не стали его включать наряду с мемкешом? Вопрос два, как я понимаю, Yii начинает более-менее стабилизироваться, насколько сильные возможны изменения архитектуры или уже больше будет подпиливание? Можно начать переносить расширения с первой ветки на вторую? Работаем с PHPMailer, Gearman, phpThumbOf.

  17. №8687
    Sam
    Sam 10 дек. 2013 г., 14:03:25
    1. Да, Redis в официальном расширении.
    2. Больше подпиливание. Очень сильно меняться не должно, хотя обещать ничего не могу...
  18. №8696
    Дмитрий
    Дмитрий 18 дек. 2013 г., 21:52:11

    А AR во 2-м еще больше не IDE-friendly, чем в 1-м? Если в 1-м можно было в find() сказать @return $this, то во 2-м find() возвращает ActiveQuery... =(

  19. №8697
    Роман
    Роман 19 дек. 2013 г., 12:56:19

    Дмитрий, для поддержки автокомплита я придумал такой хак. Допустим есть модель User, создаем класс UserQuery extends ActiveQuery. В этом классе описываем варианты филтров и сортировок

    class UserQuery extends ActiveQuery
    {
        /**
         * @return self
         */
        public function byId($id)
        {
            $this->andWhere(['id' => $id]);
            return $this;
        }
    }

    В модели User переопределяем методы createQuery и find:

    class User extends ActiveRecord
    {
        public static function createQuery()
        {
            return new UserQuery([
                'modelClass' => get_called_class()
            ]);
        }
     
        /**
         * @param mixed $q
         * @return UserQuery|User|null
         */
        public static function find($q = null)
        {
            return parent::find($q);
        }
    }

    Теперь идешка будет поддерживать автокомплит конструкций

    User::find()->byId(1)->one();

    Но такие фильтры, к сожалению, не будут работать с ActiveRelation.

  20. №8698
    Алексей
    Алексей 19 дек. 2013 г., 14:22:14

    Как по мне так хак - совсем не хак, а решение которое приходит на ум первым. Но оно плохо тем, что вы сломали дизайн. Скопы - это методы модели в yii2, а вы их вынесли в отдельный класс и поменяли интерфейс скопов.

    Вообще проблема yii2 скопов - в том что они в интерфейсе и в определении имеют разное количество параметров. Т.е. я не могу взять и переопределить find() и в phpDoc написать, что он может возвращать мою конкретную модель, потому-что IDE взбесится и скажет что я передаю одно количество параметров, а в определении скопа написано другое.

  21. №8699
    Роман
    Роман 19 дек. 2013 г., 14:27:31

    Алексей, именно потому что это выбивается из принятого фреймворком дизайна, я назвал это хаком. Интересно, чем обусловлено такое построение скопов? Почему задействовано так много магии.

  22. №8700
    Дмитрий
    Дмитрий 19 дек. 2013 г., 16:31:17

    Это не хак, это бред - создавать на каждую модель доп. файл только ради автокомплита =( Мне кажется эта очень странная попытка - прыгнуть одной ногой на AR, а другой на датамапер.

  23. №8701
    Дмитрий
    Дмитрий 19 дек. 2013 г., 16:33:59

    Алексей - можете просто в том самом UserQuery описать скопы руками через @method. Только все-равно это бред.

  24. №8702
    Дмитрий
    Дмитрий 19 дек. 2013 г., 17:36:18

    Видимо просто нужно начать воспринимать Query как Finder и создавать действительно отдельный класс на каждую модель. Тогда скоупы нужно унести в этот класс - им там место.

  25. №8703
    Дмитрий
    Дмитрий 19 дек. 2013 г., 18:43:00

    Алексей, к слову, скоупы скорее всего не будут в IDE мешаться, ибо в определении они статика, а в интерфейсе - методы объекта. IDE по идее не должно путать.

  26. №8729
    Витя
    Витя 01 янв. 2014 г., 21:13:14

    Александр, в yii1 был класс CViewAction, в yii2 что-то не нашел аналога. его теперь не будет?

  27. №8732
    Sam
    Sam 03 янв. 2014 г., 1:45:04

    Витя, наверное, нет.

  28. №8754
    Алексей Розум
    Алексей Розум 13 янв. 2014 г., 17:45:47

    Привет всем. Александр, у меня вопрос по-поводу локализации. Перевод сообщений не проблема, все работает. Но вот как побороть точку в числовых значениях не пойму. В "русском языке" привычно использовать запятую для чисел. В форме при проверке такое не прокатывает. В валидаторе жестко вставлена строка:

    class NumberValidator extends Validator
    {
        public $numberPattern = '/^\s*[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?\s*$/';

    Заменить точку конечно можно, но велосипед не хочется. Как это можно правильно настроить без костылей? И вобще подобные ситуации...

  29. №8755
    Алексей Розум
    Алексей Розум 13 янв. 2014 г., 21:15:39

    Прошу прощения, что не совсем по теме. Сделал пока так: В файл конфига добавил:

    \Yii::$objectConfig = [
        'yii\validators\NumberValidator' => [
            'numberPattern' => '/^\s*[-+]?[0-9]*,?[0-9]+([eE][-+]?[0-9]+)?\s*$/',
        ],
    ];

    Может кому-нибудь пригодиться :)

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.