Сегодня у PHP-Дайджеста день рождения! Исполнилось ровно три года с момента публикации первого выпуска на Хабре. Огромное спасибо всем, кто помогал создавать дайджесты, кто присылает ссылки и правки. Спасибо разработчикам за замечательные инструменты и авторам за их полезные статьи. Спасибо всему PHP-сообществу, а главное, спасибо вам за то, что читаете и поддерживаете PHP-Дайджест! Вместе сделаем наш PHP-мир лучше!
Под катом, как всегда, вас ждет подборка со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- PHP 7.0.0 RC 4 — Релиз содержит 22 исправленных бага и всего около 100 коммитов с изменениями. RC 5 ожидается 15 октября, затем RC 6, а финальный релиз следует ожидать уже 12 ноября.
- PHP 5.5.30 и 5.6.14 — Обновления актуальных веток. Внесено всего 15 изменений, в том числе устранено две уязвимости в расширении Phar. Как видно, для ветки PHP 5.4 обновления теперь нет.
- PHPUnit 5.0.0 — Релиз содержит несколько новых возможностей. Прекращена поддержка PHP 5.3, PHP 5.4, и даже PHP 5.5, зато реализована поддержка PHP 7.
- REST API в WordPress из коробки — Разработчики плагина WP REST API анонсировали план по интеграции решения в ядро WordPress. Слияние планируется поэтапное: сначала инфраструктура плагина в версии 4.4, а затем в WordPress 4.5 и сами ендпоинты.
- Otto — Разработчики Vagrant представили новый проект Otto — инструментарий для создания микросервисов из изолированных приложений. Otto является продолжением развития Vagrant, но при этом оба будут какое-то время поддерживаться параллельно.
- Elasticweb — самый демократичный виртуальный хостинг — Новый PHP-хостинг на горизонте.
PHP
- RFC: Consistent Callables — Автор предложения указывает на неконсистентность типа Callable в зависимости от контекста. Приводятся примеры и предлагается исправить неточности поведения. Также предложение предполагает сделать вызов с помощью
call_user_func($callable)
и прямой вызов$callable()
эквивалентными во всех случаях. - RFC: Closure from callable function — Предлагается добавить функцию
function closure(callable $callable) : closure {...}
которая позволит переданный callable-параметр конвертировать в полноценное замыкание. - RFC: Arrow Functions — Предложение по короткому синтаксису для анонимных функций не прошло голосование. Поэтому был предложен альтернативный синтаксис, а-ля EcmaScript 6, но с добавлением ключевого слова
function
. Итого предлагается синтаксис:function($x) => $x + $y
. Кроме синтаксиса предлагается также реализовать возможность «автозахвата» переменных из родительской области видимости.
Инструменты
- bocharsky-bw/Arrayzy — Библиотека/обертка над всеми встроенными функциями для удобной работы с родными PHP массивами в стиле ООП. Прислал bocharsky_bw.
- corpsee/phpell — Конструктор виртуальной машины с PHP-окружением для Vagrant на основе bash-скриптов. Прислал corpsee.
- shadowhand/destrukt — Простые неизменяемые типы данных для PHP. Пост об использовании от автора тут.
- artalyst/sentinel — Независимая от фреймворка система аутентификации и авторизации. Туториал по использованию тут.
- SimpleBus/MessageBus — Классы и интерфейсы для создания системы сообщений и шин. Пример использования в посте.
- laruence/taint — Расширение для обнаружения XSS и других уязвимостей при работе с потенциально небезопасными строками.
- wapmorgan/builder — Инструмент для автоматической установки и настройки популярных PHP-проектов: WordPress, Joomla, Magento, Drupal и других.
- amphp/amp — Неблокирующий фреймворк для PHP-приложений. Пост об использовании тут.
- FGRibreau/mailchecker — Библиотека для проверки существования email-адреса.
- scaninc/kss-php — PHP-реализация KSS: методологии документирования CSS и генерации стайлгайдов.
- claudehohl/Stikked — Клон Pastebin на PHP.
- ramsey/uuid — Реализация генератора UUID по стандартам RFC 4122.
- sphido/cms — Файловая CMS.
- Awilum/morfy-cms — И еще одна файловая CMS.
- JayBizzle/Crawler-Detect — Класс позволяет определить ботов/пауков/краулеры по user agent.
- QafooLabs/php-refactoring-browser — Инструмент рефакторинга для командной строки. Если по каким-либо причинам нет PhpStorm.
- krakjoe/pthreads-polyfill — Полифил для pthreads.
- paragonie/halite — Криптографическая библиотека для PHP. Обертка над libsodium.
Материалы для обучения
PHP 7
- Новый PHP, часть 1: Return types
- Новый PHP, часть 2: Scalar types
- Краткий обзор PHP 7
- Новое в PHP 7: null coalesce operator — Об операторе
??
, добавленном в PHP 7. - HHVM vs PHP 7: грядёт конкуренция
Symfony
Yii
- Расширение Yii 1.1 oci8Pdo и бинд параметров CLOB/BLOB
- DevGroup-ru/dotplant2 — E-commerce CMS на Yii 2.
- gugoan/economizzer — Приложение менеджер финансов на Yii 2.
Laravel
- Видеокурс: Основы Laravel 5.1
- Управление «контекстом» в приложении на Laravel, 2
- Гибкие и простые в поддержке приложения на Laravel + Angular Material
- Использование Eloquent и Schema Builder без Laravel
WordPress
- Создание безопасных веб-приложений на PHP — *
- Почему следует избегать чрезмерной абстракции — Советы по использованию абстрактных классов в PHP.
- Быстро создаем приложение чата с помощью Ratchet — Напомню, что для создания сервисов на основе вебсокетов есть годный протокол WAMP и его PHP-реализация — Thruway.
- Замаскированные зависимости — О проблеме сервис-локаторов. Автор описывает идею реализации маленьких дополнительных локаторов с явными методами для получения конкретных зависимостей.
- Импортирование больших CSV-файлов на PHP, 2
- HTTP/2 Server Push с помощью Symfony HttpKernel
- Автоматическая рекомендация: немного теории и практики
- PHP и OData: пересаживаемся с велосипедов на технологию от Microsoft
- Новое в Runkit 1.0.4: PHP 5.6+, closures везде и еще 12 новых фич
- Плохая «Весна» или как причины задержек искали
- PHP: культура программирования
- ZF2 + Blitz templates
Аудио и видеоматериалы
Занимательное
- joho/7XX-rfc — RFC для 7xx кодов состояния HTTP — Ошибки разработчиков
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Присылайте ссылки на интересные статьи или полезные инструменты, которых не было в PHP-Дайджестах, и ваше имя будет рядом с присланной ссылкой в выпуске.
Прислать ссылку
Быстрый поиск по всем дайджестам
< Предыдущий выпуск
Uris
Хеппер бёрздер!