<rmcreative>

RSS

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

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

  1. Визуализации различных алгоритмов и структур

    3 мая 2011

    Как-то я давал ссылки на визуализации алгоритмов сортировки: картинками и на canvas.

    В этот раз на глаза попалась довольно крупная подборка визуализаций на canvas, включающая в себя структуры, индексы, сортировки, кучи и графы.

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

    Кстати, RBAC в Yii работает примерно так, за исключением того, что у RBAC граф ациклический.

    Комментировать
  2. Yii: всегда учитывайте неудачный save модели

    2 мая 2011

    Те, кто раньше не работал с Yii, на первых порах часто совершают очень нехорошую ошибку:

    $model = new Post();
    if(!empty($_POST['Post']))
    {
      $model->attributes = $_POST['Post'];
      $model->save();
      $this->redirect(array());
    }
    $this->render('form', array(
      'model' => $model,
    ));

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

    15 комментариев
  3. Yii: тегирование кеша

    21 апреля 2011

    Простая, но эффективная реализация тегирования кеша для Yii, позволяющая делать так:

    // Добавление записи с тегами teg1 и tag2
    Yii::app()->cache->set($key, $value, 0, new Tags('tag1', 'tag2'));
     
    // Очистка кеша по тегу tag2
    Yii::app()->cache->clear('tag2');

    Читаем

    18 комментариев
  4. 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 комментариев
  5. Новый трекер GitHub

    15 апреля 2011

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

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

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

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

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

    29 марта 2011

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

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

    Читаем

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

    27 марта 2011

    CodeFest 2011 удался.

    Читаем

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

    23 марта 2011

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

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

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

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

    10 марта 2011

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

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

    7 марта 2011

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