PHP-Дайджест № 101 – интересные новости, материалы и инструменты (15 – 29 января 2017)

eca5e06a105046da8853083371b971ae.jpg

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

f574e9991c42407b8fa789a66b854f8d.png Новости и релизы


  • PHP 5.6.30 — Последний полноценный релиз ветки 5.6. Согласно календарю релизов, исправления ошибок безопасности будут выпускаться еще в течение двух лет.
  • PHP 7.0.15, PHP 7.1.1 — Обновления актуальных веток.
  • Laravel 5.4 — Под капотом новый инструмент тестирования Laravel Dusk, сборка фронтенда с помощью webpack вместо Gulp, автоматические фасады, markdown для шаблонов писем, и другие улучшения. habrКраткий обзор нововведений в Laravel 5.4.
  • Безопасные обновления для WordPress — Внесено предложение реализовать крипто-проверку автоматических обновлений с помощью paragonie/sodium_compat.
  • Deployer 4.1.0

c9ee7880391644e4aef6cc28ca681ab0.png PHP


  • RFC: Permit trailing whitespace in numeric strings — На данный момент PHP игнорирует пробельные символы в начале числовой строки, то есть " 123" и "123" эквивалентны. А вот в если пробельные символы идут в конце, то такое число считается не валидным. Предлагается исправить несправедливость.
  • RFC: Disallow Multiple Constructor Calls — Предлагается запретить множественный вызов конструктора.
  • RFC: Deprecate and Remove Bareword (Unquoted) Strings — В текущих версиях PHP использование строки без кавычек бросает ошибку уровня E_NOTICE. Предлагается в ближайшей версии бросать E_WARNING, а затем и вовсе ParseError.
  • RFC: Deprecations for PHP 7.2 — Прошло голосование по списку функциональностей на объявление устаревшими: __autoload, $php_errormsg, create_function(), mbstring.func_overload, (unset) cast, parse_str() без второго аргумента, gmp_random(), each(), assert() со строковым аргументом, аргумент $errcontext в обработчике ошибок.

cf862d9072784d04b621238ec137f2ca.png Инструменты


  • corpsee/php-censor — CI-сервер на PHP. Форк практически заброшенного PHPCI. Прислал Corpsee.
  • denisyukphp/tmpfile — Класс для работы с временным файлом как альтернатива стандартной функции tmpfile (). Прислал Александр Денисюк. habrХабрапост в поддержку.
  • Microsoft/tolerant-php-parser — На данный момент экспериментальный парсер PHP на PHP от Microsoft. Предназначен для использования в IDE, то есть где код заведомо не полный, а значит парсер должен быть устойчив к ошибкам.
  • php-fig/http-message-util — Пара интерфейсов с набором констант HTTP статус кодов и HTTP-методов.
  • php-enqueue/enqueue-dev — Компоненты для работы с очередями сообщений. Поддерживаются транспорты Amqp, Stomp, файловая система.
  • shadowhand/latitude — SQL query builder.
  • ezimuel/PHP-Secure-Session — Шифрование для нативных сессий.
  • jmolivas/phpqa — CLI-инструмент, который объединяет в себе популярные решения проверки качества кода для удобства использования.
  • digitalkaoz/php-ipfs — Клиент для IPFS.
  • flyimg.io — Приложение для изменения размеров, обрезки и сжатия изображений на лету.
  • cweagans/composer-patches — Плагин для Cоmposer, который позволяет применять патчи к зависимостям.
  • asyncphp/paper — Асинхронный конвертер HTML в PDF.

329bec7c1e914963a1c5d2f2bfe99995.png Материалы для обучения


  • Symfony
    • matthiasnoback/symfony-console-form — Пакет объединяет компоненты Form и Console и позволяет заполнять формы из консоли. Пост в поддержку.
    • Неделя Symfony #525 (16–22 января 2017)
    • Неделя Symfony #526 (23–29 января 2017)

  • Yii
    • loveorigami/yii2-plugins-system — Система плагинов для Yii 2. Прислал loveorigami.
    • Пример использования Yii2 в плагине WordPress
    • ruYii2: какой кэш быстрее? — Простой бенчмарк DbCache, FileCache, MemCache и RedisCache.

  • Laravel
    • plank/laravel-metable — Пакет для добавления метаданных к моделям Eloquent.
    • orchestral/testbench — Пакет для упрощения тестирования при разработке собственных пакетов для Laravel.
    • jcc/blog — Блог на Laravel и Vue.js.

  • Туториал по использованию Google Calendar API
  • Создаем SOAP-сервер с помощью zend-soap
  • PHP любит сортировать — array_unique(), glob(), scandir() по умолчанию выполняют сортировку, что может сильно замедлить результат на больших входных данных.
  • О конфигурации PHP и безопасности — Почему тюнинг php.ini практически не влияет на безопасность приложения.
  • Туториал по использованию Eloquent ORM без Laravel
  • О структуре директорий PHP проектов
  • 3 причины использовать неизменяемые объекты
  • On Aggregates and Domain Service interaction
  • Подробный туториал по запуску WordPress на AWS
  • Сравнительный обзор GraphQL vs REST
  • ruКаталог шаблонов проектирования с примерами на PHP — Код доступен тут.
  • habrОбнаружение дефектов кода типа «Expression Issues» (CWE-569)
  • habrНовый быстрый старт с PHPixie: строим цитатник коммит за коммитом
  • habrГенерация документов в doc, excel, pdf и других форматах на сервере
  • habrМониторинг приложений с помощью Pinba
  • habrRedmine на MySQL с RocksDB быстрее, чем с InnoDB, от 20% до 3 раз
  • habrPHP 7.1.1 FPM vs Node.js 7.4.0 в качестве web backend сервера

8dcc236774104f8286a40ceaea553820.png Аудио и видеоматериалы


  • videoПодкаст PHP Roundtable #057: Все о компании Zend

cc24d9c95c9841988f8299a8b285e6f6.png Занимательное


  • ruКуда идёт сеньор?
  • Участница конкурса Мисс Вселенная из Филиппин программирует на PHP
  • Самые часто используемые слова в коде открытых проектов на различных ЯП — 14d66e3af2564835be9988aa658857b9.png

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

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

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

Комментарии (0)

© Habrahabr.ru