<rmcreative>

RSS

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

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

  1. Yiiclipse, поддержка Yii для Eclipse PDT

    27 июня 2011

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

    Yiiclipse добавляет две возможности к стандартным для PDT: wizard для создания проекта и, что самое главное, навигацию по вызовам view и layout.

    Пользуемся

    10 комментариев
  2. Yii 1.1.8

    27 июня 2011

    Вышел релиз Yii 1.1.8, включающий более 80 багфиксов, новых возможностей и улучшений. Огромное спасибо тем, кто репортил баги, предлагал новые фичи и использовал по назначению Orphus на yiiframework.ru.

    Забрать свежий дистрибутив можно с официального сайта.

    Инструкции по обновлению можно почитать в UPGRADE.

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

    Читаем

    9 комментариев
  3. YiiCookbook.​org

    25 июня 2011

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

    Как вам?

    10 комментариев
  4. Порядок регистрации автозагрузчиков классов в Yii

    14 июня 2011

    Вплоть до версии 1.1.7 можно было регистрировать автозагрузчики классов только в одном порядке. Перед родным автозагрузчиком:

    Kohana
    Zend Framework
    Yii
    

    В итоге при загрузке родных классов срабатывал сначала автозагрузчик Kohana, затем Zend Framework и только потом родной. И происходило это для каждого класса. С версии 1.1.8 этого можно избежать, поставив сторонние загрузчики после Yii:

    Yii
    Zend Framework
    Kohana
    

    Достаточно добавить всего один параметр:

    Yii::app()->registerAutoloader(array('EZendAutoloader', 'load'), true);
    Yii::app()->registerAutoloader(array('EKohanaAutoloader', 'load'), true);

    Реализация:

    10 комментариев
  5. DevConf 2011, впечатления

    6 июня 2011

    Вчера вернулся с DevConf, где читал доклад про Yii и процесс его разработки. В общем доклад был похож на одноимённый с CodeFest, но включал себя багфиксы и раскрывал мысль несколько лучше. На вопрос «во что может превратиться Yii, если его разработчики станут компанией» я чётко ответил «в Битрикс», чем, сдаётся мне, поверг окружающих в лёгкий в шок. На самом деле оговорился :) Вопросы были, кстати, очень хорошие и правильные. Спасибо задававшим их людям.

    Читаем

    18 комментариев
  6. Свои классы для правил роутера Yii

    24 мая 2011

    В следующей версии Yii появится возможность использовать свой класс для конкретного правила роутера:

    array(
      // стандартное правило CUrlRule
      '<action:(login|logout)>' => 'site/<action>',
     
      // свой класс
      array(
        'class' => 'application.components.MyUrlRule',
        'connectionID' => 'db',
      ),
    )

    Это позволит, например, с лёгкостью реализовать такую штуку, как наличие потенциально конфликтующих URL:

    /about
    /contact
    /my-cool-blog-post
    /my-cool-static-page
    

    Код уже в транке, если есть желание или необходимость — можете опробовать. Замечания и предложения приветствуются.

    12 комментариев
  7. Yii::t и исходный язык для сообщений

    16 мая 2011

    При выборе исходного языка для сообщений, а именно того, который используется в Yii::t('app', 'message'), стоит задуматься о будущем.

    Выбрав Русский вы изначально усложняете себе жизнь: над переводами смогут работать только те, кто знает Русский. С Английским дела обстоят намного лучше: вторым языком его изучают почти во всём мире.

    5 комментариев
  8. Yii и PHP 5.3

    14 мая 2011

    В Yii, при наличии PHP 5.3, можно использовать анонимные функции в качестве callback-а. Например, вот так могут выглядеть обработчики событий:

    Yii::app()->onBeginRequest = function($event){
        //
    };

    Более интересный пример — CGridView:

    $this->widget('zii.widgets.grid.CGridView',array(
        'dataProvider'=>$dataProvider,
        'columns'=>array(
            'title',
            array (
                'name'=>'created_on',
                'value'=> function($data){
                    return date("M j, Y", $data->created_on);
                },
            ),
            array(
                'class'=>'CButtonColumn',
            ),
        ),
    ));
    10 комментариев
  9. Yii 1.1 Application Development Cookbook

    10 мая 2011

    Yii 1.1 Application Development Cookbook Cover

    Сегодня была официально анонсирована вторая книга про PHP-фреймворк Yii, так что я, наконец, могу немного про неё рассказать.

    • Издательство: Packt Publishing.
    • Язык: Английский.
    • 13 глав и ~300 страниц.
    • Планируемая дата появления финальной версии в продаже: Сентябрь 2011.

    Оглавление:

    1. Under the Hood
    2. Router, Controller, and Views
    3. AJAX and jQuery
    4. Working with Forms
    5. Testing Your Application
    6. Database, Active Record, and Model Tricks
    7. Using Zii Components
    8. Extending Yii
    9. Error Handling, Debugging, and Logging
    10. Security
    11. Performance Tuning
    12. Using External Code
    13. Deployment

    Официальный анонс и возможность получить предварительные версии первых шести глав

    Это моя первая книга, так что с тем, как на самом деле писать я был не знаком. Сначала пытался сделать сразу идеально: на написание первых глав уходило очень много времени и сил, а вот результат всё-равно с первого раза не выходил желаемым. Ближе к 8—9 главе я осознал, что писать надо всё, что придёт в голову. Даже, если оно кажется не совсем тем, что должно оказаться в книге. Уже после того, как все планируемые моменты описаны, начинается процесс перечитывания и правки. Получается быстрее и лучше.

    58 комментариев
  10. Yii: читаем пустые значения как null

    7 мая 2011

    Для того, чтобы Yii читал пустые значения как null, а не как пустую строку достаточно добавить один параметр в конфигурацию компонента db:

    'db'=>array(
      'connectionString' => 'mysql:host=localhost;dbname=test',
      'username' => 'root',
      'password' => '',
      'charset' => 'utf8',
     
      'nullConversion' => PDO::NULL_EMPTY_STRING,
    ),
    18 комментариев