<rmcreative>

RSS

Все заметки с тегом «yii2»

  1. Yii2 будет на PHP 5.4

    20 октября 2013

    Ещё недавно я рассказывал про то, что Yii2 будет использовать PHP 5.3, и вот планы круто поменялись. После публичного обсуждения, а затем и внутрикомандного, было решено, что релиз состоится с минимальным требованием PHP 5.4.

    Сначала мы составили список популярных хостингов. После этого стало понятно, что 72% хостингов, которые поддерживают минимальную на тот момент версию 5.3.7, поддерживают и 5.4. А те, что принципиально застряли на 5.2 или 5.3, чаще всего не имеют и 5.3.7. С операционками выходит примерно так же.

    Далее пошли в ход плюсы.

    Короткий синтаксис массивов и <?= в шаблонах. Да, для фреймворка оно не нужно и это долгое время было аргументом против 5.4. Но мы изначально упустили из вида, что авторам расширений придётся использовать 5.4, что негативно скажется на сообществе.

    В 5.3 более не исправляется, начиная с этого Июля. В Июле 2014 PHP 5.3 перестанет получать также и исправления по части безопасности, так что использовать его будет довольно рисково. К тому времени Yii2, как раз, должен начать набирать обороты и если сейчас переход на 5.4 кажется немного рисковым, то через пол года это точно будет верным шагом. Да и с точки зрения маркетинга шаг верный.

    Ну и трейты, конечно. Хотя на их счёт ещё есть большие сомнения...

    40 комментариев
  2. Yii2: перевод сообщений

    17 октября 2013

    Доделали полностью перевод сообщений. В Yii2 он намного лучше, чем в 1.1. Удалось выкинуть мегабайты данных CLDR и использовать вместо всего этого расширение intl. Синтаксис и возможности поразительные. Например, можно вот так:

    echo \Yii::t('app', '{n,number} is spelled as {n, spellout}', array(
        'n' => 42,
    ));

    При переводе эта строка честно выдаст нам 42 проговаривается как сорок два.

    echo \Yii::t('app', '{name} is {gender} and {gender, select, female{she} male{he} other{it}} loves Yii!', array(
        'name' => 'Snoopy',
        'gender' => 'dog',
    ));

    Выдаст без перевода Snoopy is dog and it loves Yii!.

    Множественные формы также никуда не делись:

    echo \Yii::t('app', 'There {n, plural, =0{are no cats} =1{is one cat} other{are # cats}}!', array(
        'n' => 0,
    ));

    Строка перевода будет вот такая:

    Здесь {n, plural, =0{котов нет} =1{есть один кот} one{# кот} few{# кота} many{# котов} other{# кота}}!
    

    Не обошлось, правда, без исследования исходника расширения и исправления найденных багов средствами PHP, но результат радует.

    22 комментария
  3. Первый production-проект на Yii2

    18 июля 2013

    Несмотря на то, что Yii2 ещё даже не бета, появился первый известный мне production-проект на нём.

    Самая идея — сервис для печати изображений по постерам, холстам, футболкам и т.д. У сервиса отличный дизайн, работает шустро. Имеется REST API.

    Рассматриваем

    12 комментариев
  4. Черновики документации Yii2

    4 июля 2013

    Код Yii2 начал более-менее стабилизироваться. Это означает, что пора писать руководство, чем мы и занялись на этой неделе.

    Всё ещё в состоянии черновиков, некоторые разделы пусты, но уже можно знакомиться, критиковать и дополнять.

    17 комментариев
  5. Yii2, контроль доступа

    25 июня 2013

    В Yii 1.1 фильтр accessControl был очень гибким:

    // blacklist
    return array(
      array('deny',
        'users' => array('*'),
        'actions' => array('index'),
      ),
    );
     
    //whitelist
    return array(
      array('allow',
        'users' => array('*'),
        'actions' => array('view'),
      ),
      array('deny'),
    );

    Он позволял контролировать доступ как в стиле blacklist, так и whitelist. В Yii2 остался только whitelist. Это единственный нормальный и действительно безопасный подход в данной ситуации:

    //whitelist
    public function behaviors()
    {
      return array(
        'access' => array(
          'class' => 'yii\web\AccessControl',
          'rules' => array('allow' => true,
              'users' => array('*'),
              'actions' => array('view'),
          ),
        ),
      );
    }
    26 комментариев
  6. HotCode и YiiMeetup, Киев

    9 июня 2013

    Прошли два события в Киеве, в которых я, как и планировалось, принимал участие.

    Читаем

    3 комментария
  7. Yii2: цветная консоль

    25 мая 2013

    В Yii2 будет удобная консоль с поддержкой цветов для всех ОС (для Windows нужен нормальный терминал вроде ConEmu). Вот как это выглядит (цвета настраиваются в терминале):

    12 комментариев
  8. Стиль кода Yii2

    10 мая 2013

    Много спрашивают про стиль кода Yii2. Почему он такой и почему не 1 в 1 PSR-2.

    Несовместимостей с PSR у нас три:

    1. У нас 5.3, мы не поддерживаем <?= в ядре потому как он может быть выключен. PSR-1 его разрешает.
    2. У нас табы, в отличие от PSR-2. У них есть объективный плюс. Их можно отображать как угодно в любимой IDE. Четыре пробела как два не отобразишь. На небольших экранах это особо актуально.
    3. У нас есть несколько уточнений, которые в PSR-2 не оговариваются.
    33 комментария
  9. Yii 2, public preview

    4 мая 2013

    Итак, код Yii2, который мы более двух лет пилили и перепиливали в закрытом режиме, выложен на github. Это большой шаг на пути к стабильному релизу, в подготовке которого вы теперь можете принять самое непосредственное участие.

    Стоит сразу отметить, что код в стадии активных изменений и может меняться без предупреждения. Ни в коем случае не используйте его для реальных проектов.

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

    38 комментариев
  10. Yii2 и Twig, дополнительный синтаксис

    28 апреля 2013

    Итак, код Yii2 уже близок, чтобы показать его всем. Пока Qiang доделывает последний тикет, а именно ActiveForm, я решил плотнее поработать с шаблонными движками. Уже сейчас реализована самая базовая поддержка Smarty и Twig, но кучу всего, что доступно в PHP-шаблонах, через них делать пока нельзя.

    Порыв немного Twig, я понял, что реализовать это можно кучей разных способов, но так как сам с Twig не работаю, мне трудно решить, как же будет удобней.

    Читаем

    33 комментария