Дайджест интересных новостей и материалов из мира PHP № 44 (1 – 20 июля 2014)



    Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

    Приятного чтения!


    Новости и релизы


    • 10 лет PHP 5.0.0 — 13 июля 2004 года свет увидел интерпретатор PHP версии 5.0. В посте по ссылке краткая история PHP и тамлайн с основными событиями эпохи.
    • 0xDBE: Первый взгляд — JetBrains анонсировала новый продукт 0xDBE для работы с базами данных и запросами. Инструмент доступен в рамках закрытой программы раннего доступа после подачи соответствующей заявки. В посте по ссылке можно найти обзор возможностей инструмента.
    • habr WordPress 4.0 Beta 1 и Beta 2 — Кто-то ожидал значительного обновления кода и архитектуры в релизе, но этого не случилось. Тем не менее WordPress 4.0 порадует рядом новых возможностей. Также интересный пост, о тенденции увеличения доли JavaScript-кода в WP.
    • Pickle — Первый стабильный релиз менеджера PECL-расширений, который совместим с Composer, и, возможно, будет включен в стандартную поставку PHP.
    • Большое обновление Deployer — Простой и удобный PHP-инструмент для развертывания приложений, Deployer получил ряд новых возможностей, обновленный сайт и документацию.
    • REST в Symfony — Для реализации RESTful сервисов на Symfony есть бандлы FOSRestBundle и NelmioApiDocBundle, однако это далеко не все. С целью улучшения, популяризации и упрощения существующих REST решений для Symfony создана специальная рабочая группа. Чуть подробнее в посте создателя группы.
    • SensioLabsProfiler — Стартовало закрытое бета-тестирование PHP-профайлера от создателей Symfony.


    PHP


    • RFC: Uniform Variable Syntax — Предложение от Никиты Попова, которое предполагает введение единого синтаксиса переменных и вызовов в PHP, было принято практически единогласно и будет включено в PHP 5++. Единственным проголосовавшим против стал автор Xdebug Derick Rethans, который изложил свою точку зрения в посте.
    • RFC: Название для следующего релиза PHP — В php.internals активно возобновилось обсуждение выбора цифры для PHP 5++. Так все-таки PHP 6 или PHP 7?
    • RFC: Scalar Type Hinting With Casts — Предложение подразумевает реализацию тайп хинтинга для типов: int, float, bool, string и numeric. Оригинальный вариант был предложен Anthony Ferrara, который отозвал все свои предложения устав спорить. Возможно, на этот раз у предложения есть шансы.
    • RFC: intdiv() — Предложение реализовать возможность целочисленного деления в PHP: var_dump(3 %% 2); // int(1)
    • Benchmarking PHPNG! — Интересный пост от Zeev Suraski, в котором он сравнивает PHPNG и HHVM, а также классический PHP в работе на популярных PHP-проектах, в том числе отдельным постом Magento. В ряде тестов PHPNG обходит HHVM. Однако альтернативные тесты от разработчиков HHVM показывают немного другие результаты. Тем не менее производительность PHPNG растет – уже в два раза превышает PHP 5.6 и медленно догоняет HHVM.


    Инструменты


    • Spork — Библиотека для удобного создания форков PHP-процессов.
    • Pilog — Простой логгер, реализованный по стандартам PSR-3 и PSR-4.
    • Phake — Не тот Phake, который мокинг-фреймворк, а тот, что менеджер задач и клон рубишного Rake. Туториал и примеры использования тут.
    • vfs.php — Виртуальная файловая система, реализованная в виде объекта-обертки для потока данных.
    • Purse — PHP-фреймворк на создание которого автора вдохновил популярный Ruby-инструмент Sinatra.
    • uprofiler — Легковесный профайлер на основе xhprof.
    • symfony-console-completion — Автодополнение команд для Symfony Console приложений.
    • php-box — Инструмент для удобного создания и управления phar-архивами.
    • woothee-php — Парсер user-agent строки.
    • Respect/Validation — Одна из лучших библиотек для валидации на PHP.
    • yo-php — PHP-клиент для революционного мессенджера Yo.
    • Phystrix — Библиотека для решения проблемы отказоустойчивости распределенных систем. Порт популярного Java-инструмента Hystrix. Пост с описанием.
    • Cronos — Библиотека для создания и управления cron-задачами из PHP.
    • FluentPDO — SQL query-builder для PHP, а также туториал по его использованию.


    Материалы для обучения




    Материалы c прошедших конференций




    Аудио и видеоматериалы




    Занимательное




    Быстрый поиск по всем дайджестам
    Предыдущий выпуск
    Zfort Group
    113,00
    Компания
    Поделиться публикацией

    Комментарии 10

      +3
      Спасибо!
        0
        А подборки по фронденду на этой неделе не будет?
          0
          удалено
            +2
            Авторы подборки по фронтенду в отпуске и взяли двухнедельный перерыв, а уже со следующей недели все будет в привычном режиме.
              –2
              А авторы подборки по PHP я так понимаю уже отдохнули.
            0
            RFC: Название для следующего релиза PHP


            А вот объяснение, почему голосование было отменено news.php.net/php.internals/75727
              +2
              Benchmarking PHPNG


              Из-за чего-то указано, что ZF2 не работает. Я не знаю как они запускали, но я HHVM уже давно как постоянный интерпретатор использую, и 80% проектов на ZF2. Все работает отлично, использую 3.1 версию, которая у них завалилась.
                0
                После прочтения «RFC: Uniform Variable Syntax » осталось тяжелое чувство, что синтаксис PHP может стать монстрообразным. Я понимаю, что PHP активно развивается, перенимает из других языков лучшие практики, но жили же раньше как-то без $foo->bar()() и (...)::foo().
                  +4
                  10 наиболее часто встречающихся ошибок PHP-разработчиков
                  Там в последнем пункте про empty() не совсем верно написано:
                  Unfortunately, if a class uses the magic __get() function to retrieve a property’s value, there’s no foolproof way to check if that property value is empty or not.

                  На самом деле конструкция empty() сначала вызывает isset() и только потом проверяет переменную на «пустоту».
                  Если класс реализует доступ к свойствам через магический метод _get(), то он должен реализовывать и магический метод _isset(), тогда empty() будет работать корректно.
                    0
                    Использую Capistrano для деплоя и частичной сборки Symfony2 приложения, но есть недочеты. Есть ли сравнение функционала Capistrano с Deployer? Что б понять пододйдет ли он.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое