<rmcreative>

RSS

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

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

  1. Простой автоматический деплой из репозитория github

    20 сентября 2012

    Делается довольно легко. Особенно, если деплоить нужно только последний коммит из master.

    1. Ставим на сервере git.
    2. Делаем clone своего репозитория. Лучше использовать URL только для чтения вроде git://github.com/samdark/yiiframework_ru_cookbook.git.
    3. Берём код ниже, заменяем /var/www/path/to/your/git/root на путь к склонированному репозиторию. Вливаем в вебрут сервера.
    4. Идём на страницу своего репозитория на github → admin → service hooks → WebHook URLs. Добавляем там URL залитого скрипта. Там же смотрим актуальные IP серверов github и сравниваем с теми, что в скрипте.
    5. Проверяем, что у вебсервера есть права писать в склонированные директории (в том числе и в скрытый .git).
    6. Наслаждаемся автоматическим деплоем.
    22 комментария
  2. PhpStorm 5

    12 сентября 2012

    PhpStorm 5

    Релизнулась очередная версия лучшей (по крайней мере для меня) IDE для PHP.

    Основные улучшения касаются PHP в общем, но, в этой версии добавили и немного для поддержки фреймворков. А именно поддержку MVC Symfony2 и Yii (ура-ура!).

    • В редакторе PHP переработаны внутренние механизмы распознавая типа переменных и полей классов, что привело заметному улучшению качества и скорости дополнения.
    • Куча дополнений к поддержке SQL и СУБД: рефакторинг схемы, редактирование хранимых процедур, генерация миграций, улучшенное дополнение SQL и другие.
    • Можно использовать свои правила для PHP CodeSniffer.
    • Поддержка стандартов кода Symfony2, PSR1/PSR2, Drupal.
    • «Live Edit» для PHP/HTML/CSS/JS.
    • Большое количество улучшений в редакторах JavaScript и CSS/Sass/LESS.

    Кроме того, сделано довольно много косметических изменений интерфейса.

    Для тех, кто приобрёл лицензию после 12 Сентября 2011, обновление бесплатно.

    До 14 Сентября можно приобрести IDE со скидкой. На обновление скидка не распространяется.

    25 комментариев
  3. Zend Framework 2.0

    6 сентября 2012

    Релизнулся ZF2. Сами разработчики особо отмечают:

    • Поддержку модулей.
    • Service Locator(IoC контейнер) и Dependency Injection контейнер.
    • События, включая observer, pubsub, signal-slot.
    • MVC на событиях и контейнерах.
    • Загрузчик классов с PSR-0 и class-map (явное сопоставление имя класса → путь).
    • «If you've worked significantly with ZF1, ZF2 will look alien to you». То есть это принципиально другой фреймворк и всё, что вы знаете про ZF1, можно выкинуть.

    Свои мысли по поводу того, что получилось у Zend выскажу позже, а пока

    9 комментариев
  4. Блокирование сессий в PHP

    21 июня 2012

    Как-то я потратил довольно много времени, пытаясь понять, почему десяток асинхронных запросов к PHP-скрипту выстраивается в очередь вместо того, чтобы отрабатывать параллельно.

    Чтобы показать наглядно, набросаем пару тестовых скриптов.

    test1.php

    <?php
    session_start();
    sleep(10);
    echo '1';

    test2.php

    <?php
    session_start();
    echo '2';

    Ничего необычного, правда?

    Теперь запустим их параллельно. Воспользуемся jQuery:

    $.get('/test1.php');
    $.get('/test2.php');

    В итоге получается вот такая картинка (это вкладка Net из Firebug):

    test1.php заблокировал работу test2.php.

    При использовании сессий «из коробки», данные хранятся в одном единственном файле, который оказывается заблокированным с момента вызова session_start и до окончания работы скрипта.

    В том случае, если сессия вам нужна только для чтения, или есть возможность записать всё необходимое перед медленной частью скрипта, можно её закрыть явно при помощи session_write_close():

    <?php
    session_start();
    session_write_close();
    sleep(10);
    echo '1';

    В этом случае мы получим желаемую картину:

    Если же необходимо писать в сессию после медленных операций, придётся сменить «коробочную» сессию на свою реализацию с неблокируемым хранилищем, таким, например, как база данных.

    Стоит отметить, что если при этом не позаботится о race condition, можно наступить на хорошие такие грабли.

    Материалы:

    14 комментариев
  5. PHP Performance, Rasmus Lerdorf

    14 июня 2012

    Похоже, материалы с DevConf централизованно выкладываться не будут и всё остаётся на усмотрение докладчиков. Многие спрашивают слайды отца-основателя PHP, Расмуса Лердорфа. Вот они:

    PHP Performance

    Работают не во всех браузерах, листаются стрелками. Материал действительно интересный. Всем советую.

    9 комментариев
  6. Слайды с DevConf 2012

    10 июня 2012

    7 комментариев
  7. Laravel

    5 июня 2012

    Как разработчику Yii, мне полезно знать, что происходит вокруг. Пару недель назад посмотрел фреймворк Laravel. О нём уже пытались написать на хабре. Было это в мае, но из песочницы пост не выбрался. Со второй попытки вроде получилось. Сообщество активно комментирует.

    По просьбам читателей, опишу, что я увидел в нём интересного и какие выводы были сделаны.

    Читаем

    28 комментариев
  8. XHProf для Windows

    31 мая 2012

    Вопреки распространённому мнению о том, что PHP-профайлер, созданный в недрах Facebook, работает только под Linux, есть билды и под Windows. Неофициальные, но вполне себе рабочие.

    При установке не забываем про совместимость билда расширения и PHP.

    11 комментариев
  9. XCallGraph

    29 мая 2012

    На днях был выложен на всеобщее обозрение ещё один инструмент для анализа результатов профайлинга, полученных при помощи XDebug. Событие весьма интересное, потому как старичок WinCacheGrind автором, похоже, заброшен, а WebGrind иногда нехватает.

    Написан инструмент на Java, поэтому потенциально кроссплатформенный (на данный момент имеются билды под Windows и Linux).

    Официальная страница

    XCallGraph обсуждается на форумах phpclub. Там же автор принимает пожелания и предложения.

    6 комментариев
  10. Подробное сравнение синтаксиса PHP, Perl, Python и Ruby

    30 марта 2012

    Целых две страницы с подробным сравением синтаксиса интерпретируемых языков программирования.

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