PHP-Дайджест № 74 – интересные новости, материалы и инструменты (5 – 22 ноября 2015)



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

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


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




    PHP


    • RFC: Default Value in List Assignment Syntax — Предлагается реализовать значения по умолчанию для конструкции list(): list($a, $b='default') = [1]; // a = 1, b = 'default'
    • RFC: Void Return Type — Голосование по предложению о void функциях завершилось с положительным результатом. Улучшение ожидается в PHP 7.1.
    • RFC: Resource typehint — Предлагается добавить поддержку типа resource для тайпхинтинга параметров и возвращаемых значений.
    • RFC: ext/curl HTTP/2 Server Push Support — Как ясно из названия, предлагается реализовать поддержку HTTP/2 Server Push в curl.


    Инструменты


    • oscarotero/Embed — Библиотека для удобного получения метаинформации о страницах (oembed, opengraph, twitter-cards, изображения и прочее). Прислал tkf.
    • akalongman/php-ip-tools — Универсальный инструмент для работы с IPv4/IPv6. Прислал l0ngman.
    • bitExpert/disco — DI контейнер совместимый со стандартом container-Interop.
    • php-http/httplug — Набор абстрактных интерфейсов для унификации HTTP-клиентов на PHP. Пост с примером использования.
    • dunglas/phpdoc-to-typehint — Инструмент добавляет соответствующие тайпхинты для PHP 7 на основе docblock комментариев. Пост в поддержку.
    • Payum/Payum — Отличная библиотека, упрощающая интеграцию с различными сервисами оплат: Paypal, Payex, Authorize.net, Be2Bill и другими. В тему сравнение Payum и Omnipay.
    • Spomky-Labs/otphp — Реализация одноразовых паролей на основе RFC 4226 (HOTP) и RFC 6238 (TOTP).
    • eloquent/phony — Моки, стабы.
    • Ocramius/PSR7Session — Реализация сессий в виде PSR-7 middleware.
    • bitExpert/adroit — PSR-7 middleware реализующее паттерн Action-Domain-Responder.
    • etsy/applepay-php — PHP-расширение, которое позволяет проверить и расшифровать токены оплаты Apple Pay. Пост с описанием.
    • vinkla/climb — Утилита проверяет есть ли более свежие версии зависимостей, чем прописанные в вашем composer.json.
    • briannesbitt/carbon — Расширенная обертка над DateTime. Пост с примерами использования.
    • reactphp/espresso — Silex + React/Http


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




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




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




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

    В прошлом выпуске было голосование по поводу включения в Дайджест расширений для популярных фреймворков. 86% (337) отнеслись к идее положительно, поэтому уже в следующем выпуске будет подборка инструментов для фреймворков. Отдельное спасибо всем, кто проголосовал!

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

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

    Прислать ссылку
    Быстрый поиск по всем дайджестам
    Предыдущий выпуск

    • +27
    • 17k
    • 9
    Zfort Group 332,10
    Компания
    Поделиться публикацией
    Комментарии 9
    • +1
      Спасибо за подборку! Думаю что espresso не к месту немного, потому как проект мертв еще с 2014 года…
      • 0
        Согласен, что жизнь в нем не бьет ключом, но проект интересный и в дайджестах не упоминался, поэтому оставлю
      • +1
        Если кого-то интересуют архитектурные темы связанные с Magento 2

        • Service Layer в Magento 2. Что это, зачем. Как использовать
        • Механизм Плагинизации
        • Как мы (команда Magento) видит правильную работу интеграторов с Magento 2
        • Кодогенерация в Magento 2


        Может быть какие-то другие темы будут также интересны.
        Напишите — буду рад осветить подробно в отдельном посте
        • +1
          Думаю будет интересно все, в правильном порядке (по моему мнению это 3, 1, 2, 4).
          Еще интересна тема с сотыми версиями компонентов и вообще про версионность (пакетов, модулей), будет ли версии модуля менять версию мадженты и тд. Что из себя представляет repo.magento.com, можно ли поднять зеркало, как распространять свои модули.
          • 0
            По поводу версионирования, здесь вы можете найти подробную статью о версионировании в Magento 2

            Если коротко, для разработки мы используем семантическое версионирование

            Имеем МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ у каждого модуля:

            МАЖОРНУЮ версию, когда сделаны обратно несовместимые изменения API.
            МИНОРНУЮ версию, когда мы добавляем новый функционал, не нарушая обратной совместимости.
            ПАТЧ-версию, когда мы делаем обратно совместимые исправления.

            Теперь относительно версии модуля и продуктовой версии:
            Версия продукта и версии модулей независимы. Например, CE версия Magento была выпущена как 2.0, следующая будет 2.1, потому — 2.2 и т.д., но версионирование модулей началось с 100.0й версии. Такое разделение было сделано специально, чтобы упростить поддержку, и избежать ошибок и недопониманий в общении, когда мерчанты/программисты ссылаются на версию продукта вместо версии модуля и наоборот.
            Ну и со временем версия продукта и версии модулей будут расходиться все больше.

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

            image
            • 0
              По поводу repo.magento.com. Это репозиторий где хранятся Magento 2 компоненты, а также компоненты (Composer пакеты), разработанные разработчиками из комьюнити.
              devdocs.magento.com/guides/v2.0/install-gde/prereq/connect-auth.html

              Свои модули, как и раньше, предполагается распространять через Magento Connect
            • 0
              +1 интересуют!

              Пользуясь случаем по поводу magento 2, установка через repo.magento.com отваливается с ошибкой
              [ErrorException]
              file_get_contents(app/etc/NonComposerComponentRegistration.php): failed to open stream: No such file or directory

              composer обновлен.
              Разбираться пока времени не было, хотел поставить и пощупать… С чем связанно не подскажите?
              • 0
                устанавливаете через composer install?
                Похоже на проблему с пермишенами в файловой системе
                • 0
                  Да пермишены стандартные, композер то под этим пользователем развернул папки, после этого на ФС файлы композера + папки vendor и update есть

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

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