PHP-Дайджест № 132 (27 мая – 10 июня 2018)


    Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0 alpha 1, Yii 3.0 alpha 1 и другие релизы, свежая книга по асинхронному PHP, видеозаписи докладов, порция полезных инструментов, и многое другое. Приятного чтения!


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


    • PHP 7.3.0 alpha 1Доступна для тестирования первая альфа-версия новой ветки PHP. Стартовал полугодовой цикл тестирования, финальный выпуск ожидается в конце ноября.
      • Среди изменений:
        • Улучшения Heredoc и Nowdoc синтаксиса RFC
        • Функции json_encode() и json_decode() будут бросать исключение в случае ошибки и наличия соответствующего флага RFC
        • Возможность использовать запятую после последнего аргумента функции RFC
        • Новая функция hrtime(), которая возвращает время высокой точности и не зависит от системного времени PR
        • Добавлена функция is_countable() для проверки на перечислимость RFC
        • Использование ссылок в list() RFC
        • Значительное улучшение сборщика мусора PR
        и другие улучшения. Полный список изменений.
    • Phalcon 3.4.0
    • Свежие новости PHP-FIG: апрель и май — PSR-5 (PHPDoc) разделен на два: о форматировании и каталог тегов, PSR-9 и PSR-10 (security) ожили с новым лидером, PSR-14 (Event Dispatcher) в процессе, PSR-17 (http factories) и PSR-18 (http clients) почти готовы для перехода в ревью.
    • The State of Developer Ecosystem in 2018 — Отчёт JetBrains на основе опроса 6000 разработчиков.


    Инструменты


    • z7zmey/php-parser v0.5.0 — Продолжает развиваться парсер PHP реализованный на Go.
    • nesk/rialto — Инструмент для управления ресурсами Node.js из PHP. Может быть использован для реализации взаимодействия с Node.js библиотеками.
    • nesk/puphpeteer — Пример использования nesk/rialto, PHP-обертка для работы с GoogleChrome/puppeteer (Headless Chrome).
    • mlambley/swagception — Генерирует приемочные тесты для Codeception на основе вашей Swagger 2.0 (Open API 2.0) спецификации.
    • RobThree/TwoFactorAuth — Двухфакторная аутентификация на основе одноразовых паролей TOTP или QR-кодов.
    • OwenMelbz/forget-db — Простой инструмент для анонимизации (например для GDPR) данных в базе.
    • gordalina/cachetool — CLI-инструмент для управления apc и opcache.
    • digitaldonkey/ethereum-php — Типизированный интерфейс для Ethereum JSON-RPC API.
    • SocialConnect/auth — Библиотека для аутентификации через соц. сервисы (OAuth1/2, OpenID, OpenIDConnect). 25+ провайдеров из коробки.
    • xobotyi/rsync — Удобная обертка над rsync для PHP 7.1+. Прислал xobotyi.
    • krakjoe/idbg — Отладчик для PHP, реализованный на PHP, пока, правда, требует расширение krakjoe/idbg. Пост с описанием.


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




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




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


    • oraoto/pib — PHP in Browser – PHP скомпилированный в WebAssembly с помощью Emscripten.

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

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

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

    Zfort Group

    303,91

    Компания

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

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

    Комментарии 22
      +1
      PHP in Browser — попробовал, удивился что работает, но вот как и где это можно использовать?
        +1

        Например чтобы быстро проверить какой-то код если под рукой нет сервера. Только вот уже же было это все и даже с возможностью выбора версии php.

          +2

          или подключить бизнес логику написанную на php в nodejs. Ну мало ли.

            +1
            Например, для SPA с бэкендом на PHP, фронтендом на React и решением использовать server rendering для начальной загрузки, это может быть удобнее оказаться, чем дергать браузером PHP, готовить на нём данные, дергать nodejs для рендеринга с этими данными и отдавать страницу через PHP. Или чем спереди на бэкенде ставить nodejs который будет дергать PHP API по HTTP для рендеринга. Ну или ещё какая мудренная схема типа PHP дергает nodejs как бинарник, а тот дергает PHP по HTTP
              0
              это может быть удобнее оказаться

              очень плохо себе это представляю, так как для серверного рендринга придется мутить что-то дополнительно. Что не может быть удобнее. Хотя не отрицаю вероятности таких вещей. Но я бы рассматривал это как самый редкий и крайний костыль.

                0
                Я имею в виду, что исполнение PHP-кода (что-то вроде простых read-моделей) внутри nodejs сервера рендеринга может оказаться самым простым способом замутить серверный рендеринг внутри продукта с бэком на PHP и фронтом на JS.
        0
        Так уже вроде вышла версия Yii 2.1 следущая получается 3.0?
          0
          Самдарк пошел маркетологом)
            0
            2.1 еще не выходила, просто решили версионность сменить
            0

            Было бы очень прикольно, если бы все ссылки имели target="_blank"

              +1
              Это довольно старая дискуссия. Я все-таки согласен с мнением, что пользователь сам может решить как ему удобнее открывать, тем более что есть Ctrl(Cmd)+left click, middle-click (mouse wheel-click). Правда вот на мобильном target="_blank" наверное было бы удобно. Вы на мобильном смотрите?
                0

                Угу, потом замучаешься закрывать все эти новые окна на мобильном

              +1
              Стартовало голосование

              и так же финишировало. Голосование отложено до момента финализации RFC. Ну либо просто зафэйлится.

                +2
                Команда Yii фреймворка следует semver, поэтому вместо релиза 2.1 в ближайшем времени ожидается 3.0.


                Никогда не следовали, но вот начали? У них же свой семвер был, где первая цифра была маркетинговой

                habr.com/post/349408/#comment_10676970
                  +2
                  Да, они приняли решение следовать общепринятой semver, теперь готовятся к релизу 3.0.0, а не 2.1.0.0
                    +1
                    Думал что в Yii3 не увидим уже вот этого наследования, и вот опять
                    yii\db\ActiveRecord
                    yii\db\BaseActiveRecord
                    yii\base\Model
                    yii\base\Component
                    yii\base\BaseObject

                    Вряд ли в альфе уже будут это менять.
                      0
                      Мне вот лично интересно, с чего вы решили, что они откажутся от
                      yii\db\ActiveRecord
                      yii\db\BaseActiveRecord
                      ?
                        0
                        Я имел ввиду такую длинную цепочку наследования
                          0

                          Крайне сомневаюсь что они когда-либо пойдут на подобное. Это идет в разрез с философией фреймворка.

                        0
                        А есть тикет в баг-трекере yii в котором предложен другой вариант?

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

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