<rmcreative>

RSS

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

Можно уточнить:

  1. Yii совсем без MVC

    23 января 2011

    Интересный пост «Yii без MVC» нашёлся в блоге Евгения Карагодина. В нём он описывает использование Yii без view и стандартных директорий. Можно пойти дальше и использовать Yii вообще без MVC. Ну или использовать, например, только M. Для этого во входном файле делаем так:

    $yii='path/to/framework/yii.php';
    $config=dirname(__FILE__).'/config.php';
     
    require($yii);
    // при желании можно объявить конфиг параметром в виде массива и не использовать файл
    Yii::createWebApplication($config);
     
    // далее любой код с использованием Yii:
     
    $criteria = new CDbCriteria();
    $criteria->limit = 10;
    $criteria->order = 'id DESC';
    $posts = Post::model()->findAll($criteria);
    echo "<ol>";
    foreach($posts as $post)
    {
      echo "<li>";
      echo $post->title;
      echo "</li>";
    }
    echo "</ol>"
    15 комментариев
  2. Yii 1.1.6

    17 января 2011

    PHP-фреймворк Yii обновился до версии 1.1.6. Обновление не только правит ошибки, но и добавляет много нового. Какие же изменения были сделаны?

    Читаем

    11 комментариев
  3. Yii::t и перевод множественных форм слова по CLDR 2

    16 января 2011

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

    Подстановка параметров, число передаётся как {n}

    Yii::t('test', '{username} has a cucumber|{username} has {n} cucumbers',
    array(5, '{username}' => 'samdark'));

    Получим:

    samdark has 5 cucumbers
    

    Замена параметра {n}

    function convertNumber($number)
    {
        // число прописью
        return $number;
    }
     
    Yii::t('test', '{n} cucumber|{n} cucumbers',
    array(5, '{n}' => convertNumber(5)));

    Получим:

    five cucumbers
    

    Дробные числа

    Yii::t('app', 'cucumber|cucumbers', 1.5);

    В файле перевода за дроби в Русском отвечает четвёртый параметр:

    'cucumber|cucumbers' => 'огурец|огурца|огурцов|огурца',

    На выходе:

    огурца
    

    Полное описание можно найти на странице «Интернационализация» полного руководства.

    10 комментариев
  4. Исключаем отдельный файл из индексации PhpStorm

    15 января 2011

    В PhpStorm на данный момент нет возможности исключить из индекса отдельный файл, что сильно портит жизнь тем, кто использует фреймворк Yii. Дело в том, что IDE при наличии одинаковых классов в нескольких файлах не знает, который из них использовать для автодополнения и предпочитает не выводить дополнения вовсе.

    Рано или поздно это будет исправлено, а пока можно воспользоваться небольшим трюком:

    • File → Settings → IDE Settings → File Types.
    • Ищем в списке Text Files, жмём нижнюю Add... и добавляем yiilite.php.

    Теперь yiilite.php будет исключён из индексирования для всех проектов.

    UPD: Алексей подсказал, что способ есть:

    • File → Settings → IDE Settings → File Types → Ignore files and folders. Через ; вписываем yiilite.php;

    UPD2: В текущих версиях PhpStorm появилась возможность исключить отдельный файл из индексации прямо из контекстного меню, выбрав Mark as Plain Text.

    14 комментариев
  5. Yii::t и перевод множественных форм слова по CLDR

    13 января 2011

    В транк Yii попала ещё одна интересная возможность, которая облегчит жизнь всем, кто имеет дело с мультиязычными проектами, а именно поддержка перевода множественных форм слова по правилам CLDR в Yii::t.

    Теперь для человеческого перевода строк вроде «10 яблок», «51 яблоко» не нужно писать страшные правила, а процесс будет выглядеть как показано ниже.

    В коде делаем всё как обычно:

    echo '10 '.Yii::t('app', 'apple', array(10));
    echo '51 '.Yii::t('app', 'apple', array(51));

    В файле перевода для Русского записываем:

    return array(
        'apple' => 'яблоко|яблока|яблок',
    );

    Для Английского, соответственно будет:

    return array(
        'apple' => 'apple|apples',
    );

    Полный список правил доступен на сайте CLDR.

    17 комментариев
  6. Улучшенное сообщение об ошибке в транке Yii

    22 декабря 2010

    Дошли, наконец, руки перечитать весь фидбек по улучшенной странице ошибки для Yii, доделать и слить всё это в SVN.

    Расширение на англоязычном сайте и код в yiiext теперь можно считать устаревшими.

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

    А пока буду очень рад новому фидбеку и идеям.

    Скриншот

    14 комментариев
  7. Удаление «ненужных» файлов из Yii

    5 декабря 2010

    Несколько раз на форумах и в других местах всплывали вопросы вроде «что можно удалить из Yii». Лично я, конечно, считаю, что удалять оттуда ничего не надо: вряд-ли на сервере нет десяти мегабайт дискового пространства, но всё-же покажу, как можно сократить размер Yii.

    Читаем

    15 комментариев
  8. Миграции в Yii

    30 ноября 2010

    Вот и готова ожидаемая многими возможность — миграции.

    Миграции очень важны для командной разработки, когда постоянно меняется не только код, но и структура базы данных. Чтобы каждый не применял руками изменения остальных членов команды и существуют миграции.

    Читаем

    27 комментариев
  9. chive

    30 ноября 2010

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

    В последней версии добавлен экспорт в CSV, работа с blob и улучшена производительность.

    Если есть время и желание, проекту можно помочь с переводом на Русский язык (осталось перевести где-то 35% строк).

    22 комментария
  10. WebConf Riga 2010, впечатления

    26 ноября 2010

    Прошла конференция WebConf Riga 2010, которую я открывал докладом «PHP фреймворк Yii: основы, техники и немного инсайда».

    Слайды и видео доклада можно найти на сайте конфреренции.

    Я же поделюсь впечатлениями.

    Читаем

    18 комментариев