<rmcreative>

RSS

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

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

  1. Yii: универсальный scope для отношений

    19 апреля 2011

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

    public function published($val = true)
    {
        $val = (int)$val;
        $owner=$this->getOwner();
        $criteria=$owner->getDbCriteria();
        $alias=$owner->getTableAlias();
     
        $criteria->mergeWith(array(
            'condition'=>$alias.'.published='.$val,
        ));
     
        return $owner;
    }

    getTableAlias даёт нам t, если используется сама модели и имя таблицы, если scope используется в отношении.

    17 комментариев
  2. Новый трекер GitHub

    15 апреля 2011

    GitHub, наконец, обзавёлся нормальным трекером, что радует. Похоже, минусов, по сравнению с Google Code, практически не осталось, поэтому Yii2 наверняка будет размещён на GitHub.

    Итого, на сегодняшний день:

    • Git и GitHub очень популярны и притягивают сильных разработчиков.
    • Есть куча книг, и отличных гайдов в том числе и на русском.
    • Есть хорошие GUI: SmartGit и TortoiseGit.
    • Удобно будет работать с патчами.

    Единственное, чему пока не удалось найти аналог, так это автотеггингу в SVN: $Id $ в файле заменялся на ревизию, время и автора. Сейчас эта возможность активно используется для перевода документации.

    5 комментариев
  3. Yii 1.1.7

    29 марта 2011

    На днях вышел релиз 1.1.7 PHP-фреймворка Yii, в который было включено более 90 исправленных ошибок, улучшений и новых возможностей.

    Полный список изменений доступен на сайте фреймворка, самые вкусные из которых мы рассмотрим ниже.

    Читаем

    32 комментария
  4. CodeFest 2011, впечатления

    27 марта 2011

    CodeFest 2011 удался.

    Читаем

    16 комментариев
  5. Какой PHP фреймворк вы используете и почему?

    23 марта 2011

    На хабре появился довольно интересный опрос с обсуждением на горячую тему. Ответы немного удивили:

    • Yii на втором месте после Zend Framework. Думал, там будет Symfony или CodeIgniter.
    • Очень многие выбрали «самописный фреймворк». Дело, конечно, хорошее. Опыт наберётся быстро. Но для работодателя коммерчески невыгодно. Конечно, если задачи очень специфичны, вроде создания игр, то свой фреймворк может быть оправданным решением.
    • Подавляющее большинство «пишет на PHP, но не использует фреймворки». То ли лапшекодеров на хабре много, то ли все делают игры… не ясно.

    Обсуждаем и голосуем

    58 комментариев
  6. Почему в Yii свой ActiveRecord

    10 марта 2011

    Казалось бы, зачем изобретать велосипед и писать свой Active Record, а не взять существующую реализацию… например, phpactiverecord, RedBeanPHP или тот же ORM Doctrine. В случае Yii всё не так однозначно:

    • AR в Yii старше большинства готовых решений. Первые версии были реализованы в 2005-м ещё в Prado. AR постоянно улучшался и затем перекочевал в Yii, где улучшения продолжаются и сейчас.
    • Свой AR даёт более «ровный» API.
    • Использование внешнего кода = потеря контроля качества реализации. В стороннем коде могут быть ошибки, которые по каким-либо причинам не смогут быстро исправить… а ведь AR — очень важная часть фреймворка.
    41 комментарий
  7. Yii wallpaper

    7 марта 2011

    13 комментариев
  8. CodeFest 2011

    20 февраля 2011

    На прошлый CodeFest в Новосибирске мне попасть не посчастливилось, а вот на грядущем 19 и 20 марта я буду читать доклад про Yii. Не про сам фреймворк, а про его разработку: почему принимаются те или иные решения, почему над ним трудится ограниченный круг разработчиков, что на самом деле значит это Yii и многое другое.

    Остальную программу пока посмотреть негде, но, думаю, будет не хуже прошлого раза.

    7 комментариев
  9. Yii: параметры именованных групп условий в отношениях

    20 февраля 2011

    До готовящегося релиза 1.1.7 можно было применить именованные группы условий, они же named scopes, к отношениям:

    $posts=Post::model()->with('comments:recently:approved')->findAll();

    Но нельзя было указать для них параметры. Решил эту проблему creocoder. Теперь, слив свежий код из SVN, можно делать так:

    $users=User::model()->findAll(
        'with'=>array(
            'posts'=>array(
                'scopes'=>array(
                    'rated'=>5,
                ),
            ),
        ),
    );
    8 комментариев
  10. Yii: объекты и классы как результат выборки

    12 февраля 2011

    Предложение возвращать объекты вместо массивов при использовании построителя запросов или DAO нам сразу понравилось. Сегодня у меня дошли руки до реализации и в SVN появилась данная возможность в несколько расширенном варианте.

    $sql='SELECT * FROM posts LIMIT 1';
    $command=$this->_connection->createCommand($sql);
    $command->setFetchMode(PDO::FETCH_OBJ);
    $post = $command->queryRow();
    echo $post->title;

    Параметры setFetchMode принимает идентично одноимённому методу PDO, тем самым позволяя, например, получать строки в виде новых объектов, экземпляров указанного класса или наполнять существующие объекты.

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