<rmcreative>

RSS

Посты с тегом «Ð¢Ð¸Ð¿Ð¾Ð³Ñ€Ð°Ñ„Ð¸ÐºÐ°»

  1. Наследование с одной таблицей в Yii

    18 августа

    Реляционные БД не поддерживают наследование, поэтому при отображении объекта на БД приходится как-то это обходить. При этом необходимо минимизировать количество JOIN. Решается данная проблема довольно простым способом при помощи паттерна наследование с одной таблицей. При этом, в таблице хранятся столбцы для всей ветки классов, наследуемых от заданного. Для определения типа модели обычно используется поле type.

    В Yii этот паттерн реализуется достаточно красиво.

    Читаем

    3 комментария
  2. PhpStorm 1.0.2

    17 августа

    Вышел релиз IDE PhpStorm.

    Изменения по сравнению с предыдущим билдом неплохие. Среди них такие, как:

    Комментировать
  3. Flowplayer 3.2.3

    17 августа

    Вышла новая версия очень хорошего видеоплеера.

    • Появилась поддержка проигрывания видео на iPhone и iPad через QuickTime (это и раньше можно было делать просто поставив ссылку на видео) и напрямую через API HTML5 при помощи плагина.

    • Поддержка перемотки в псевдостриминге посредством range-запросов HTTP.

    • Множество других добавлений и исправлений.

    Пробуем и обновляемся

    2 комментария
  4. HTML5 Boilerplate

    13 августа

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

    • Кроссбраузерный.

    • Совместим с IE6.

    • HTML5.

    • Правила для сжатия и кеширования.

    • Оптимизация под мобильные браузеры.

    • Стили для iOS, Android, Opera Mobile.

    • Куча других полезных техник.

    Рассматриваем и используем

    2 комментария
  5. Странная рамка вокруг input[type=submit] в Opera

    12 августа

    Opera, в отличие от IE, не так часто «радует» странностями, но иногда, как и у остальных браузеров, случается.

    Тестовый наборчик (воспроизводится на последнем релизе, Windows)

    При фокусе на input[type=text] вокруг submit появляется чёрная однопиксельная рамка. Так как для кнопки использован border-radius, а рамка у нас прямоугольная, логично предположить, что это не border. Также проверил, что это не outline.

    Вадим Макеев подтвердил, что это такая фича, означающая, что форма в данный момент находится в фокусе, а кнопка с чёрной рамочкой её сабмитит. Работает это таким образом только на Windows. Ну и так как такое поведение желательно не всегда, в будущих версиях рамочка либо будет убрана совсем, либо будет документирована и её будет возможно убрать.

    Пока же единственный способ решить данную проблему — обернуть кнопку дополнительным элементом, задать самой кнопке border: none, а обёртке соответствующий border и border-radius.

    10 комментариев
  6. PHP, шаблоны и короткий синтаксис

    11 августа

    Одним из самых частых аргументов, приводимых в пользу шаблонизаторов по сравнению с голым PHP, является более красивый синтаксис:

    {$code}

    вместо

    <?php echo $code?>

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

    Если включить в php.ini short_open_tag, можно вместо действительно громоздкого кода, приведённого выше, писать:

    <?=$code?>

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

    <ol>
    <?foreach($users as $user):?>
      <li>
        <h2><?=$user->username?></h2>
        <p><?=$user->notes?></p>
      </li>
    <?endforeach?>
    </ol>
    30 комментариев
  7. PhpStorm 1.0.2 RC build 95.480

    6 августа

    После небольшого затишья выложен свежий билд IDE PhpStorm, являющийся RC 1.0.2.

    • Исправлены почти все ложные срабатывания «Unused local variable».

    • Поправили ошибку с неработающим HTML5 при наличии пробелов в пути к установленной IDE.

    • Исправления в дополнении. См. Code | Code Completion | Cyclic Expand Word (Alt + /) и Cyclic Expand Word (Backward) (Alt + Shift + /).

    • Улучшено обнаружение ошибок в коде и их подсветка.

    • Официальный анонс

    • Полный список изменений

    • Обновляемся

    Комментировать
  8. MongoDB 1.6

    6 августа

    Вышел стабильный релиз документоориентированной базы данных MongoDB. Допилили Sharding, Replica Sets, поддержку Windows.

    Комментировать
  9. Google Wave не пошёл

    5 августа

    Wave не оправдал надежд Google и больше развиваться как отдельный продукт не будет. Технологии Wave будут использоваться в других продуктах (тут, наверное, имеются ввиду технологии поглощённого EtherPad т.к. там всё работало получше, чем в Wave). Сайт будет поддерживаться до конца года.

    Источник

    2 комментария
  10. CUrlManager::addRules

    5 августа

    Довольно часто на форумах спрашивали, как добавить свои правила роутинга не из конфига, а, например, из БД или 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.

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