PHP-Дайджест № 136 (24 июля – 6 августа 2018)


    Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0 Beta 1, PhpStorm 2018.2, Composer 1.7 и другие релизы, принят стандарт PSR-17, обзор Yii 3.0, альтернативная реализация Fiber API для асинхронных приложений, порция полезных инструментов, и многое другое.

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



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



    PHP Internals


    • [PHP]: Same Site Cookie — В setcookie() и другие функции для работы с куки добавлена возможность передать массив опций, включая поддержку стандарта Same-site Cookie. Реализовано уже в PHP 7.3.
    • [RFC]: Typed Properties 2.0 — Предложение по типизированным свойствам отложено до следующей мажорной версии PHP, а тем временем Дмитрий Стогов опубликовал результаты бенчмарков для оценки накладных расходов данной возможности.

    Инструменты


    • spiral/roadrunner — Высокопроизводительный сервер приложений, балансировщик нагрузки и менеджер процессов для PHP реализованный на Go. Можно использовать для запуска PHP на AWS Lambda.
    • codeplea/ahocorasickphp — Реализации алгоритма Ахо — Корасик для поиска множества подстрок в строке. Быстрее чем вызов strpos() несколько раз, и намного быстрее чем вызов preg_match_all().
    • chekalskiy/php-bank-db — Библиотека для определения банка по номеру карты. Прислал Илья Чекальский.
    • igniphp/framework — Легковесный фреймворк с поддержкой PSR-15, PSR-7, а также запуском на Swoole.
    • spatie/phpunit-snapshot-assertions — Инструмент для реализации снэпшот-тестирования на PhpUnit. Сравнивает результаты тестов с предыдущим запуском.
    • elgentos/masquerade — Инструмент для анонимизации информации в БД. Из коробки поддерживает Magento 2.
    • zendframework/zend-problem-details — Реализует поддержку стандарта "RFC 7807 Problem Details for HTTP API" для PSR-7-приложений, который регламентирует ответы об ошибках.
    • formapro/pvm — Мощная библиотека для описания workflow, бизнес-процессов, и просто конечных автоматов. Доступен UI для визуализации.
    • Rican7/incoming — Библиотека призвана конвертировать сырые входные данные из любых источников, в строго-типизированные структуры.
    • rezozero/mixedfeed — Библиотека позволяет объединить ленты различных социальных сервисов в один фид.
    • KikApp — Инструмент позволяет писать нативные приложения для iOS и Android на PHP. У кого-то есть опыт использования?

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



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



    Спасибо за внимание!

    Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
    Вопросы и предложения пишите на почту или в твиттер.

    Прислать ссылку
    Поиск ссылок по всем дайджестам
    Предыдущий выпуск: PHP-Дайджест № 135

    Zfort Group

    270,47

    Компания

    Поделиться публикацией

    Похожие публикации

    Комментарии 15
      +2
      Почему у слона рука из жопы растет?
        0
        Дополнительная лапа — для большей скорости разработки.
          +1

          Это же php-слон. А то что он розовый и у него хобот как пятая нога не смутило?

          +2

          Роман, спасибо за отличный, как обычно дайджест.


          Только одна ссылка вызывает недоумение. Зачем же было эту глупость про "Бенчмарки типичных кусков кода в PHP" включать? То, что лемминги на реддите наголосовали аж 30 попугаев, не делает эту статью менее вредной и хоть сколько-нибудь осмысленной.


          Я думал что статьи из серии "какие кавычки быстрее" уже лет 10 как вышли из моды. Это не говоря о том, что даже и по своим собственным стандартам (мерять кривыми руками производительность заведомо бессмысленных кусков кода) качество тестов не выдерживает никакой критики.

            0
            Возможно вы правы, но мне она показалась интересной, тем не менее. Плюс есть ощущение, что выросло новое поколение разработчиков, которые не помнят статей из серии «какие кавычки быстрее» :-) В любом случае, спасибо за критику, учту.
              +2

              Так в том-то и дело что и не должны помнить. Это будет счастье, если вырастет такое поколение. Поскольку сама постановка вопроса неверная, а единственное, что показывают такие тесты — это криворукость тестировщика.


              Вот разбор косяков подобных "тестов", как раз на примере данной статьи, https://phpdelusions.net/articles/single_vs_double


              Основных проблем две: мало того что сами тесты не имеют ни малейшего смысла, и несут только вред — но автор при этом еще и умудряется накосячить в каждом конкретном тесте, сравнивая теплое с мягким и хронометрируя несуществующий код. Это если внимательно вчитаться в код и пояснения к каждому тесту, а не просто смотреть на цыферки результатов.

                +1
                Это да, но print уже стал быстрее echo?
                  0
                  Добавил ссылку в пост
                    +1
                    в 18м году тестить одинарные и двойные кавычки это конечно жесть ))
                    помню как бомбило, когда в подобных спорах, этак 8-10 назад ссылались лохматую статью начала 2000х, выглядело это как язычество
                0
                > Никогда не используйте тайп-хинт array

                Спорное мнение. Особеноо если учесть, что скорее речь о «никогда не используйте array как пользовательский тип». По хорошему надо, наверное, объединить array и ArrayAccess в один тайп-хинт, и проставить либо его, либо iterable в стандартных array функциях.
                  0
                  Стоит ли сейчас везде обновлять composer, 1.7 стабилен?
                  +1
                  Я джва года этого ждал
                  JSON: A new flag has been added, JSON_THROW_ON_ERROR, which can be used with
                  json_decode() or json_encode() and causes these functions to throw a JsonException upon an error, instead of setting the global error state that is retrieved with json_last_error(). JSON_PARTIAL_OUTPUT_ON_ERROR takes precedence over JSON_THROW_ON_ERROR. (RFC: wiki.php.net/rfc/json_throw_on_error)
                    +1

                    Ну, строго говоря, чтобы использовать повседневно, все равно придется заворачивать вызов в отдельную функцию — не писать же каждый раз эту простыню. А с отдельной функцией и сейчас можно исключение бросить.


                    Но новость все равно очень оптимистичная

                    0
                    KikApp — Инструмент позволяет писать нативные приложения для iOS и Android на PHP. У кого-то есть опыт использования?

                    Не получилось затестить. Сообщения с подтверждением не приходит на почту(пробовал mail.ru и gmail).

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

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