<rmcreative>

RSS

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

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

  1. CUrlManager::addRules

    5 августа 2010

    Довольно часто на форумах спрашивали, как добавить свои правила роутинга не из конфига, а, например, из БД или XML, лежащего в модуле.

    Теперь это можно сделать при помощи CUrlManager::addRules. Вызывать его необходимо до CWebApplication::processRequest. Всё, что будет добавлено позже будет проигнорировано.

    Одним из способов это сделать является использование событий. В данном случае CWebApplication::onBeginRequest.

    Например, для подгрузки правил из модулей в main.php пишем:

    'onBeginRequest'=>function($event){
      $route=Yii::app()->getRequest()->getPathInfo();
      $module=substr($route,0,strpos($route,'/'));
     
      if(Yii::app()->hasModule($module))
      {
        $module=Yii::app()->getModule($module);
        if(isset($module->urlRules))
        {
          $urlManager=Yii::app()->getUrlManager();
          $urlManager->addRules($module->urlRules);
        }
      }
      return true;
    },

    Код уже ушёл в SVN.

    25 комментариев
  2. Yii, судьба yiic shell

    29 июля 2010

    В Yii 1.1.2 было решено, что yiic shell, используемый для генерации кода из консоли, должен быть постепенно вытеснен GUI-генератором Gii. Решение было мотивировано тем, что поддерживать два генератора будет слишком накладно.

    С выходом 1.1.3 сообщество обратило на это внимание.

    Стоит сразу пояснить, что yiic сам по себе как поддержка консольных команд ни в коем случае не перестанет поддерживаться. yiic shell — только та часть, которая отвечает непосредственно за генерацию кода.

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

    18 комментариев
  3. Ресурсы (asset) в Yii

    21 июля 2010

    Опубликовал новый рецепт по Yii, рассказывающий, что такое ресурсы в Yii и детально описывающий процесс их публикации и подключения.

    Читаем

    12 комментариев
  4. Улучшенное сообщение об ошибке для Yii

    20 июля 2010

    http://rmcreative.ru/playground/yii_trace/thumb.png

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

    • Умеет показывать параметры stack trace.

    • Различает статические и динамические вызовы.

    • Выглядит немного получше.

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

    Опробовать обработчик в деле можно забрав код из SVN.

    Стоит ли включать эти изменения в ядро Yii? Что ещё можно доработать?

    UPD: включено в состав ядра Yii.

    22 комментария
  5. zendAutoloader 1.1

    15 июля 2010

    Обновил zendAutoloader до версии 1.1 и заодно решил написать о нём здесь. Класс является лёгким загрузчиком классов Zend Framework для Yii.

    В 1.1 добавилась возможность подгружать классы, использующие такое же именование, как в Zend Framework, но с другим префиксом.

    1 комментарий
  6. Yii 1.1.3

    5 июля 2010

    Зарелизился Yii версии 1.1.3. Исправлено более двадцати ошибок, добавлено более пятидесяти мелких и не очень улучшений, которые отлично описал rosko на хабре.

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

    Обновляемся

    changelog

    Комментировать
  7. Постраничная разбивка в Yii

    29 июня 2010

    Упоминание о простейшей постраничной разбивке в документации к последним версиям Yii было заменено работой с компонентами zii. Да, в API всё осталось, но шансы наткнуться на нужный класс снизились, поэтому опишу простейшую постраничную разбивку на примере.

    Читаем

    69 комментариев
  8. GetText и Yii

    29 июня 2010

    Возможности для создания многоязычных приложений в Yii довольно широки. В том числе реализована поддержка переводов в формате GNU GetText. Для этого используется CGettextMessageSource.

    Для использования GetText надо настроить соответствующий компонент в main.php:

    'components' => array(
      'messages' => array(
        'class' => 'CGettextMessageSource',
        //
      )
    )

    Плюсы самого GetText, думаю, описывать не стоит. Вместо этого лучше дать ссылку на старую, но до сих пор актуальную статью на phpclub: «Многоязычные приложения. Профессиональная работа».

    Утилита для редактирования и компиляции переводов переехала на http://www.poedit.net/.

    8 комментариев
  9. Yii на РИТ++ 2010

    2 апреля 2010

    12—14 апреля на РИТ++ 2010 в секции «Серверное программирование» я представлю доклад по Yii и PHP-фреймворкам в целом. Называться он будет «PHP фреймворк Yii для быстрой и гибкой разработки приложений».

    Если вдруг будете в этом году на РИТ — заходите послушать.

    18 комментариев
  10. Yii 1.1.1 и 1.0.12

    14 марта 2010

    Немного не по графику состоялся релиз PHP-фреймворка Yii версий 1.1.1 и 1.0.12.

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

    • Виджет CActiveForm, позволяющий реализовать валидацию HTML форм как на клиенте, так и на сервере, использую один набор правил модели.

    • Виджет CGridView теперь поддерживает фильтры.

    • Генерируемый yiic код содержит функции поиска и фильтры.

    • Кнопки и ссылки CHtml теперь замечательно работают с AJAX.

    • При пакетном присваивании свойств модели в режиме отладки в лог попадает то, что было отфильтровано.

    • jQuery обновлён до 1.4.2, JQuery UI — до 1.8rc3.

    • Русскоязычная документация обновлена до 1.1.1 и находится в полностью актуальном состоянии.

    Приятным дополнением к релизу стало то, что я теперь буду работать над ядром Yii.

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