<rmcreative>

RSS
  1. С Yii 1.1 на Yii 2.0, часть 2: Composer

    20 августа

    Для установки Yii 1.1 и начала работы необходимо было скачать архив с сайта, распаковать его и выполнить в командной строкеyiic webapp. В последних версиях появилась возможность работы через Composer, но установка из архива так и осталась основным способом. Архивы используются и для большинства расширений. К каждому прилагается свой readme, который объясняет как поставить и настроить каждое расширение.

    Трудоёмкость процесса установки и обновления фреймворка и, в ещё большей степени, расширений навела на мысли, что в 2.0 небходимо всё это упорядочить и автоматизировать. Основным способом получения фреймворка и расширений стал Composer. Поставить его легко. Либо выполняем в командной строке:

    curl -s http://getcomposer.org/installer | php

    либо руками скачиваем с http://getcomposer.org/.

    Больше вручную вам ничего качать не придётся. Совсем. Первое приложение можно создать прямо из консоли:

    php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic /path/to/yii-application

    Composer самостоятельно скачает всё необходимое и выставит права на директории и файлы.

    Если с консолью у вас проблемы, с сайта всё ещё можно скачать фреймворк и базовые зависимости в виде архива и сделать всё как ранее (только yiic webapp делать не придётся). Однако, с консолью и Composer всё-таки лучше подружиться. Ручная установка расширений — дело очень трудоёмкое.

    Полная документация Composer, которую очень полезно изучить, находится по адресу https://getcomposer.org/doc/. Здесь же приведу главные факты.

    • Все пакеты (фреймворк — тоже пакет) устанавливаются в директорию vendor приложения. Руками туда лезть не стоит (если, конечно, не работаете над кодом одного из пакетов). Добавлять в репозиторий также незачем.
    • Ваше приложение — тоже пакет. Просто вы его не публикуете (скорее всего).
    • Настройки главного пакета хранятся в composer.json.
    • Самая интересная секция в composer.jsonrequire. Это список пакетов, от которых зависит ваш, и их версий. При выполнении composer install и composer update перечислененые пакеты устанавливаются или обновляются автоматически.

    ← С Yii 1.1 на Yii 2.0, часть 1: PHP

    3 комментария
  2. OpenSource-им PHP код

    19 августа

    Недавно Максим Ekstazi Фуртуна написал тему для авторов кода на форуме yiiframework.ru. Я решил сделать подобный список для современного PHP-кода в общем.

    • Пишите под поддерживаемые версии PHP. Сейчас это 5.4 и выше.
    • Форматируйте код по PSR-2.
    • Используйте git, а лучше github.
    • Релизы делайте по правилам семантического версионирования.
    • Используйте Composer и не забывайте добавить пакет в packagist.
    • Называйте и загружайте классы по стандарту PSR-4. Писать свой загрузчик не нужно, Composer уже умеет.
    • Пишите unit-тесты. Замечательно, если ваш код покрыт ими на 70-80%. Запускать автоматически можно через Travis CI.
    • Документируйте код в стиле DocBlocks.
    • Напишите отличный readme: что код делает, как настроить и использовать. Получилось длинно — оставляйте в readme «что код делает», остальное выносите в полноценное руководство. В качестве разметки советую markdown.
    • Не забрасывайте свой код. Если времени нет — подключите к проекту тех, кто активнее всех вам помогает и заинтересован.
    • Обязательно приложите текст одной из OpenSource-лицензий. Рекомендую BSD или MIT.
    3 комментария
  3. Software Development podCAST #7

    8 августа

    Записался в подкасте. Говорили про Yii и PHP в целом:

    • Как живет и развивается OpenSource проект Yii Framework: участники, организация разработки, зоны ответственности, текущее положение дел и планы по дальнейшему развитию.
    • Yii Application Development Cookbook.
    • PHP Framework Interop Group. Цели группы, её участники, обсуждаемые вопросы.
    • Экосистема PHP: вчера, сегодня, завтра. PSR, загрузчики, HHVM, PhpNG, менеджеры пакетов и прочее.

    Слушаем

    4 комментария
  4. Подключение к L2TP VPN средствами Windows

    22 июля

    Захотелось подключиться к отлично работающему в Android, iOS, MacOS VPN по L2TP средствами Windows. Вот не хочет и всё тут.

    Поискал причину, нашлась. Итого:

    • Открываем regedit.
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent.
    • Создаём DWORD (32-bit) с именем AssumeUDPEncapsulationContextOnSendRule.
    • Выставляем значение в 2.
    • Перезагружаемся.
    Комментировать
  5. wnmp-dev: nginx, MariaDB, PHP под Windows

    16 июля

    Решил выложить то, что собрал себе вместо denwer для работы с PHP под Windows. Нынче популярны всякие Vagrant, но иногда, особенно если пишется кросс-платформенное решение вроде Yii, нужен и Windows в том числе.

    Итак, wnmp-dev — простейший набор bat-скриптов и конфиг для nginx, которые позволяют развернуть полноценный вебсервер под Windows и легко переключаться между разными версиями PHP.

    Как поставить:

    1. Клонируем https://github.com/samdark/wnmp-dev.git или загружаем архивом.
    2. Забираем нужные версии PHP с сайта PHP for Windows. Берите nts, x86 zip.
    3. Распаковываем архив. Версия 5.5 должна оказаться в php55, версия 5.4 в php54.
    4. Забираем MariaDB или MySQL, складываем в mariadb.
    5. Копируем nginx/conf/vhosts/example._conf в nginx/conf/vhosts/mysite.conf, редактируем так, чтобы конфиг указывал на ваш вебрут.
    6. Добавляем домен из конфига в hosts.
    7. Запускаем start_all.bat
    8. Работаем.

    Предложения, пожелания и вопросы принимаются, ридми будет уточняться.

    https://github.com/samdark/wnmp-dev

    13 комментариев
  6. DevConf 2014, отчёт

    10 июля

    14 июня, почти месяц назад, в Москве прошла одна из лучших разработческих конференций DevConf. Сразу опубликовать отчёт не вышло, но лучше сейчас, чем никогда, ведь рассказать есть о чём.

    Читаем

    7 комментариев
  7. Yii 1.1.15 (исправление безопасности)

    30 июня

    Вышел Yii 1.1.15, исправляющий проблему безопасности, найденную в 1.1.14. Более ранние версии не затронуты. Если вы используете его, следует обновиться. 1.1.15 полностью совместим с 1.1.14.

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

    Уязвимости присвоен номер CVE-2014-4672.

    Забрать дистрибутив можно, как обычно, на yiiframework.com или обновиться через Composer.

    5 комментариев
  8. Иллюстрированное руководство по рефакторингу

    26 июня

    На хабре анонсировали отличное иллюстрированное руководство по рефакторингу. Объяснения простые и понятные, примеры пока на Java и PHP.

    Рекомендую

    Комментировать
  9. PHP 5.6.0RC1

    20 июня

    Вышел первый кандидат в релизы PHP 5.6.0. Можно помочь разработчикам, проверив свои проекты на этой версии (не на боевых серверах, конечно) и сообщив о проблемах.

    Изменения радуют. Рассмотрим самое интересное.

    Читаем

    11 комментариев
  10. GitHub Octicons

    19 июня

    Команда GitHub выложила набор значков, используемых в проекте, в свободный доступ под лицензией SIL OFL 1.1. Значки векторные. Выполнены в виде шрифта, использовать который очень просто:

    <link rel="stylesheet" href="/octicons/octicons.css">
     
    ...
     
    <span class="octicon octicon-flame"></span>

    Пользуемся

    3 комментария