<rmcreative>

RSS

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

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

  1. Буду на UWDC 2014 в Челябинске

    4 апреля 2014

    Ориентировочно 30-го мая приеду на UWDC в Челябинск. Расскажу там про Yii 2.0. Доклад будет похож на РИТ++, но, как обычно, будет с улучшениями и поправками на прогресс в коде.

    Сайт конференции пока не запущен, но будет по адресу http://2014.uwdc.ru/. Следите.

    11 комментариев
  2. Буду на РИТ++ 2014 в Москве

    31 марта 2014

    Московский РИТ++ в этом году будет первой конференцией, где я появлюсь с докладом. Тема — «Yii 2.0: обзор».

    Конференция пройдёт 14 и 15 апреля. Регистрироваться здесь.

    Программа и описание

    Видео, как обычно, не обещаю, но если будет — выложу.

    Комментировать
  3. nginx, php-fpm, Yii и красивые URL

    28 марта 2014

    Помогал недавно с очень странной проблемой. На сервере были nginx, php-fpm и Yii. Всё работало нормально, но при попытке убрать index.php из URL через showScriptName=false показывалась исключительно главная страница. То есть роутинг вообще не происходил.

    Путём долгого совместного копания в настройках сервера, сравнения с рабочими конфигурациями и гугления успешно забытое решение проблемы вновь нашлось. А именно, в php.ini должна присутствовать строчка cgi.fix_pathinfo=0.

    5 комментариев
  4. Yii2: PSR-4

    12 января 2014

    Yii2 перешёл с PSR-0 на недавно принятый PSR-4, благодаря чему из загрузчика классов удалось выкинуть кучу кода, теоретически сделав его быстрее (не замеряли). Также немного уменьшилась вложенность директорий официальных пакетов, что, хоть и не имеет большого значения, делает структуру чуть более простой.

    Если вы уже использовали Yii2 через Composer:

    1. Выполнить composer self-update.
    2. Правим пути в index.php, index-test.php и yii. Там нужно убрать один уровень /../.
    3. Удаляем всё кроме .gitignore из vendor и composer.lock, делаем заново composer install --prefer-dist.

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

    17 комментариев
  5. Yii2: JOIN вернулся

    8 января 2014

    В Active Record Yii2 вернулся JOIN. Внутри всё значительно проще, чем было в Yii 1.1, но возможностей сильно больше.

    Сразу скажу, что поддержка noSQL никуда не делась. Более того, можно в одном «запросе» выбрать JOIN-ом из нескольких SQL-таблиц, а часть связанных данных забрать, например, из MongoDB.

    Отличный пример привёл ORey на англоязычном форуме:

    // Выбираем MyModel с relation1 и relation2.
    // Все три забираем запросом с JOIN.
    $query = MyModel::find()
        ->joinWith(['relation1', 'relation2']);
     
    $countQuery = clone $query;
    $pages = new Pagination(['totalCount' => $countQuery->count(), 'pageSize' => 15]);
     
    $items = $query
        ->orderBy($sort->orders)
        ->offset($pages->offset)
        ->limit($pages->limit)
        // Забираем дополнительно relation3 и relation4.
        // Фильтровать по ним нам не нужно, так что будут
        // запросы вида WHERE ID IN (1,2,3,4) или аналоги
        // для noSQL.
        ->with(['relation3', 'relation4'])
        ->all();

    Официальная документация на тему

    24 комментария
  6. Уменьшаем yii2-basic

    7 января 2014

    В почту прилетел вопрос «какого такого yii2-basic весит 180 мегабайт». Вопрос хороший. Разберём и попробуем разобраться, что же с этим всем делать, если размер критичен.

    Итак, 155 мегабайт занимают данные git, которые забираются при установке из composer без флага --prefer-dist (добавил его в readme). Осталось 25 мегабайт, что тоже немало.

    Из них:

    Yii + обязательные зависимости 4,9 мб
    debug-панель и gii 235 кб
    Twitter Bootstrap 4,5 мб
    Swiftmailer 6,2 мб
    Codeception и зависимости 8,6 мб

    Если нам не нужны какие-то пакеты, правим composer.json и удаляем оттуда ненужные нам пакеты (секции require и require-dev). Удаляем composer.lock и запускаем composer install --prefer-dist.

    Например, если нам не интересно автоматизированное тестирование, путём удаления из зависимостей Codeception получаем 16 мегабайт вместе с зависимостями и самим basic-шаблоном. При этом приложение остаётся полностью рабочим.

    Если в приложении не нужна работа с почтой и Twitter Bootstrap получим 5,3 мегабайта.

    UPD: доступен минимальный шаблон приложения без тяжёлых компонентов.

    4 комментария
  7. 2013, итоги и планы

    31 декабря 2013

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

    Читаем

    16 комментариев
  8. Перспективы HHVM 2013

    23 декабря 2013

    Довольно много времени прошло с последнего раза как я писал про реализацию PHP в исполнении Facebook. С того времени многое поменялось.

    1. Юнит-тесты по 21 OpenSource проекту проходят на 99%. Тесты Yii проходят на 99,11%.
    2. Ещё сильнее ускорили исполнение кода.
    3. Добавили поддержку FastCGI, так что можно спокойно оттестировать свой проект под Apache или nginx.

    В планах у команды HHVM на 2014 ещё большее ускорение виртуальной машины и полная совместимость с оригинальным PHP. Настрой серьёзный. В начале месяца Josh Waltzman из команды HHVM связывался с членами php-fig, в том числе и со мной. В планах ещё много дополняющих PHP вкусняшек: строгая типизация, коллекции, быстрый статический анализ. Жаль, что поддержки Windows в планах пока нет по техническим причинам. Это прилично сократит аудиторию...

    Если в 2012 HHVM был годен только на использование внутри Facebook, то под конец 2013 перспективы его использования для своих проектов выглядят вполне реальными.

    7 комментариев
  9. Предновогодние скидки у PACKT

    21 декабря 2013

    У издательства PACKT до третьего января включительно приличные скидки на книги. Не исключение и моя англоязычная книга рецептов, которую сейчас можно заполучить всего за €3.65 вместо €20.99.

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

    2 декабря 2013

    Вышла первая альфа версия Yii 2. Скачать в виде архива её можно с официального сайта. Там же приведены инструкции по установке через Composer.

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

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

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

    В течение двух лет было получено огромное количество кода от сообщества. Спасибо вам, что сделали этот релиз возможным.

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