Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- PHP 7.1.0 выйдет 1 декабря
- PSR-13: Link definition interfaces — Принят стандарт, регламентирующий интерфейс гипермедиа ссылок.
- PSR-16: Simple Cache — Стандарт интерфейса для простого кеширования перешел в стадию ревью.
- PhpStorm 2016.3 — Под капотом целая пачка улучшений и нововведений.
- Баги в механизме обновления Wordpress ставят под угрозу треть всех сайтов в интернете
PHP
- RFC: User defined session serializer — Предлагается сделать возможным регистрировать собственный сериализатор для сессий.
- RFC: Debugging PDO Prepared Statement Emulation v2 — Предложение эмулировать подготовленные выражения непосредственно в PHP для удобства отладки успешно прошло голосование, однако вызвало критику и автор обновил реализацию.
- RFC: Deprecations for PHP 7.2 — Кроме добавления новых возможностей, шаг за шагом удаляются и устаревшие. В следующем выпуске предлагается объявить устаревшими:
- __autoload
- $php_errormsg
- create_function()
- mbstring.func_overload
- (unset) cast
- parse_str() без второго аргумента
- gmp_random()
- (binary) приведение типов и b"" литералы
- each()
- assert() со строковым аргументом
- аргумент $errcontext для обработчика ошибок
- RFC: Abolish Narrow Margins — Если RFC не предполагает кардинальных изменений, то на голосовании для принятия достаточно 50%+1 голосов. Однако есть мнение, что такие изменения могут приводить к неблагоприятным результатам. Поэтому предлагается для любых голосований повысить порог до 2/3 голосов.
Инструменты
- request extension — Расширение для PHP 7, которое добавляет объекты Request и Response в замену суперглобальным массивам. Для PHP 5 доступно в виде пакета pmjones/request. Пост от автора в поддержку. Обзор расширения в Пятиминутке PHP.
- Deployer 4 — Мажорное обновление популярного инструмента для деплоя.
- Swoole 1.9.0 — Расширение для реализации высокопроизводительных асинхронных приложений. Из коробки HTTP/WebSOcket-сервер, асинхронный MySQL-клиент, асинхронный I/O, воркеры, и другое.
- API Platform 2.0 — API-ориентированный фреймворк поверх Symfony. Пост с описанием второй версии.
- Peachpie 0.2.0 — PHP компилятор для .NET.
- bobthecow/psysh — Отличный REPL (интерактивный шелл) для PHP.
- paragonie/gpg-mailer — Отправка зашифрованных с помощью GPG имейлов на основе zendframework/zend-mail.
- ipfspics/ipfspics-server — Распределенное хранилище изображений на основе IPFS.
- davidrjonas/composer-lock-diff — Показывает что было обновлено после запуска
composer update
. - paragonie/passwdqc — Проверка сложности пароля.
- piwik/device-detector — Универсальный парсер User Agent для определения устройства, браузера, ОС и другой информации.
- Spomky-Labs/jose — Библиотека для подписи и шифрования JSON (JWT, JWS, JWE, JWA, JWK, JWKSet).
Материалы для обучения
PHP 7.1
Symfony
- Один год с Symfony — Перевод книги «A year with Symfony» от Matthias Noback. Прислал Кирилл Маренов.
- Переводим пароли пользователей на новый алгоритм шифрования в Symfony
- Неделя Symfony #516 (14-20 ноября 2016)
- Неделя Symfony #517 (21-27 ноября 2016)
Yii
- Yii2: Автоматизированное тестирование с помощью Codeception
- Yii 2 Application Development Cookbook — Third Edition — Новая книга с рецептами для Yii 2.
- yiisoft/yii2-shell — Интерактивный шелл для Yii 2 на основе Psysh.
- Новости Yii 2. №1
Laravel
- Видеокурс по разработке API на Laravel — Прислал Владислав Старцев.
- Laravel Up and Running — Новая книга по Laravel.
- Деплой Laravel-приложения с помощью Deployer
- Кастомная аутентификация в Laravel 5
- Прерывание приложений с помощью Laravel Middleware
- mpociot/blacksmith — Неофициальный клиент для Larvel Forge.
- Bottelet/Flarepoint-crm/ — CRM-платформа на Laravel.
- invoiceninja/invoiceninja — Приложение для выставления счетов (Invoicing) и трекинга времени.
- Оптимизация медленного PHP-кода когда нельзя изменять код — Забавная история о применении runkit. Прислал im_special_one.
- Вопросы для собеседования PHP-разработчика — Прислал im_special_one
- Redis из PHP — Бенчмарк клиентов для Redis: redis, predis, phpiredis.
- Ускоряем тесты на PHP: Организация Test Suites
- Рекомендации по обработке исключений
- Разрешение зависимостей с помощью графов на PHP
- Stacker: Nginx, DB(Mysql, Pgsql, Redis), PHP7+xDebug за 5 минут
- Двенадцать заповедей локализации ПО
- Как протестировать наследство без боли и страха
- Марсоход, Координаты посадки, Посадка
- Система сборки фронтенда в CleverStyle Framework или почему вам может быть не нужна кастомная
- Как мы переводили сервер на php 7
- Простые миграции с PHPixie Migrate
- Объединяем Code Coverage от PHPUnit и phpspec
Аудио и видеоматериалы
- Подкаст Voices of the ElePHPant — Интервью с известными деятелями PHP-сообщества.
- PHP South West UK — November 2016 — Видеозаписи коротких докладов. Прислал im_special_one.
- Видео со встречи Symfoniacs #10 (Москва) — Прислал Владислав Старцев.
- Пятиминутка PHP: Выпуск №23 — чат-боты Радио-Т
- Пятиминутка PHP: Выпуск №24 — PHP 7 “Request” Extension
Занимательное
- Статистика использования версий PHP – 2016.2 — Composer отправляет информацию об используемой версии PHP при подключении к packagist.org. Jordi Boggiano делится этой статистикой за последние полгода. Доля PHP 7 составляет уже 36.37%.
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку. Вопросы и предложения пишите на почту или в твиттер.
Присылайте ссылки на интересные статьи или полезные инструменты, которых не было в PHP-Дайджестах, и ваше имя будет рядом с присланной ссылкой в выпуске.
» Прислать ссылку
» Быстрый поиск по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 96
Комментарии (15)
M-A-XG
28.11.2016 11:30-6Composer отправляет информацию об используемой версии PHP при подключении к packagist.org. Доля PHP 7 составляет уже 35%.
Это только доля запросов. Только в композере.
Старые проекты просто не обновляются.
Ну и это просто примерка, многие боятся переводить рабочие проекты на 7. Или сидят в танке.
П.С.
Используем php 7.0.8.
П.П.С.
Хабровчанам дошло, что тупо запрещать разметку при минусовой карме? Ну что, поздравляю эстонцев.Fesor
28.11.2016 21:20+1Это только доля запросов. Только в композере.
Собственно в контексте composer как раз таки и интересует доля разработчиков, перешедших на php7. Это позволяет авторам библиотек учитывать тенденции и дропать суппорт старых версий PHP для новых версий пакетов.
M-A-XG
30.11.2016 12:16-3Непонятно, почему меня быдло заминусовало.
Но какой процент использует composer? :)
Какой процент использует php7, а не просто баловался с ним? :)
composer — это видимо глобальная статистика. Могут быть региональные различия.
Относительно саппорта каждой отдельной библиотеки.
1. Я не об этом писал, я об адекватности самой цифры как средней температуры по больнице.
2. Да, можно ориентироваться на количество скачиваний по версиям, если такая статистика есть, но вопрос не об этом. :)Fesor
30.11.2016 17:56+3Но какой процент использует composer? :)
Кому какое дело? Я говорю о том что эта статистика собирается для тех ребяток, которые пишут пакеты и паблишат их в packagist. А следовательно процент тех бедалаг которые все еще качают zip архивчики с экстеншенами для вордпресса никого не интересует.
M-A-XG
01.12.2016 15:33-3Ну раз для тех ребяток, то можете попрыгать :)
Ну и зачем постить это было :)
Те ребятки и сами могут посмотреть статистику скачек своего кода :)Fesor
01.12.2016 21:13+1… разработчиков интересует "когда можно для своих пакетов дропать суппорт старых версий", и это можно узнать только путем сбора общей статистики на packagist. Что собственно и выложили.
Я, к примеру, посмотрев эту статистику решил "а дропну ка я поддержку php 5.x для своей либки, уже можно". А те кто работают с wordpress — ну у них свои реалии, им нужно делать все так, что бы было совместимо с требованиями самого wordpress. Да и многие любители wp используют composer и даже имеют свой репозиторий пакетов
M-A-XG
02.12.2016 10:31-2По средней температуре по больнице нужно ставить крест на всех больных? :)
У каждого ж пакета должна быть своя статистика… :)
Умиляют такие суждения от якобы программистов. :)Zhuravljov
02.12.2016 17:46Вы или в упор не слышите аргументов, или просто — толстый тролль ).
Никто не ущемлен. Те, кто используют composer и кто — нет, существуют в разных вселенных. Первым не важно все касающееся второго, вторым — первого. Если проект не использует пакеты, ему без разницы, какие там в них зависимости от версий php и прочего. Как и разработчикам пакетов не важно на какой версии сидят все, кто не их целевая аудитория.
Умиляют такие суждения от якобы программистов. :)
Это уж точно ).
M-A-XG
02.12.2016 21:24-2Какие аргументы?
Кто где ущемлен? :)
>Как и разработчикам пакетов не важно на какой версии сидят все, кто не их целевая аудитория.
Ооо. До Вас начало доходить.
А как средняя температура по всем странам отражает статистику одного конкретного пакета, который распространяется только в стране А? :)
hudson
28.11.2016 17:42+3Один год с Symfony — Перевод книги «A year with Symfony» от Matthias Noback.
Перевод ещё в процессе. заканчиваю третью главу. Примерно планирую закончить к новому году.
Буду признателен за сообщения об ошибках, неточностях и прочих поправках.
p.s. А я думал Leanpub сломался ) он мне с утра 300+ читателей показывает
NeuroZ
06.12.2016 16:27+1Ребят, прошу не кидаться помидорами, объясните для чего нужен Spomky-Labs/jose практическое его применение?
Fesor
06.12.2016 20:28+1Ну можете почитать стандарты (RFC 7515 — 1519), но в целом это библиотека предоставляющая имплементацию этих стандартов.
Самая популярная часть — JWT и JWS, подпись JSON и Json Web Token. Возможность создавать stateless аутентификацию, вшивать информацию об авторизации прямо в токен и валидировать его исключительно проверяя подпись, без необходимости держать эти токены в каких-либо хранилищах.
p.s. NeuroZ писал вам, промазал кнопкой.
hanovruslan
Интересно, зачем нужно davidrjonas/composer-lock-diff если есть composer update (-vvv) --dry-run из коробки ?
Причем это более безопасный способ увидеть, что обновится\обновилось