Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- Xdebug 2.3 — В релизе как исправления, так и новые возможности: принудительный показ ошибок, конвертация предупреждений в ошибки, перегрузка var_dump и другие. Также прекращена поддержка версий PHP ниже 5.4.
- Yii 2.0.3
- HHVM 3.6.0 — О новых возможностях писали ранее. LTS релиз с поддержкой до марта 2016.
- Joomla! 3.4
- Представлена экспериментальная реализация JIT для PHP от Zend — Один из главных авторов PHPNG, Дмитрий Стогов, анонсировал реализацию JIT. На некоторых синтетических тестах заметен значительный рост производительности, а для специфичных случаев, например, подсчет множества Мандельброта, показывает 30 кратный рост и опережает реализацию на C.
- gRPC — новый PRC фреймворк поверх HTTP/2 — Google представила свой высокопроизводительный RPC-фреймворк с открытым исходным кодом — grpc. Библиотеки доступны для всех популярных языков, включая PHP.
- PHPCI обновился до версии 1.6
- Стартовала EAP программа PhpStorm 9 — Ранняя версия PhpStorm 9 уже доступна для скачивания. Рекомендую взглянуть хотя бы ради инлайн отладчика.
PHP
- Scalar Type Hints — Эпопея по поводу тайп-хинтинга для скаляров продолжается. На рассмотрении три предложения:
- RFC: Coercive Types for Function Arguments с принудительным привидением типов
- RFC: Scalar Type Declarations с двойным режимом — строгая и слабая типизация
- RFC: Basic Scalar Types — компромиссный вариантна случай если оба предыдущих не пройдут
Для второго варианта было предложено изменить способ задания вида типизации — вместо
declare()
использовать специальный колбэк. Голосование по второму предложению заканчивается уже завтра. Ну а пока запасаемся ПХПопкорном. - RFC: Exceptions in the engine — Практически единогласно принято предложение реализовать в PHP 7 вместо фатальных ошибок обычные исключения. Также станет возможным отлавливать ошибки парсинга. Кроме этого, введена новая иерархия для того, чтобы код использующий отлов всех исключений
catch(Exception $e)
случайно не ловил фатальные ошибки и ошибки парсинга. Введен новый базовый типBaseException
, который непосредственно расширяется типамиEngineException
,ParseException
и собственноException
. - RFC: Consistent Function Names — Одной из самых часто выдвигаемых претензий к PHP является неконсистентность именования функций и последовательности параметров. Предлагается переименовать функции, а для старых имен реализовать алиасы. Прилагается внушительный список функций-кандидатов на переименование.
- RFC: Strict Argument Count On Function Calls — Предложение предполагает, что интерпретатор должен выдавать предупреждение, когда функция вызывается с числом аргументов превышающим предусмотренное сигнатурой. Пост в поддержку.
- RFC: Anonymous Classes — Стартовало голосование по предложению о реализации анонимных классов в PHP.
- RFC: Easy User-land CSPRNG — Предлагается добавить простой криптографически стойкий генератор псевдослучайных чисел в виде функций
random_bytes(int length)
иrandom_int(int min, int max)
. - RFC: Generator Delegation — Предлагается реализовать синтаксис
yield from <expr>
позволяющий генераторам делегировать операции Traversable объектам и массивам. - RFC: Generator Return Expressions — Необходимое для предыдущего предложения изменение — поддержка
return
в генераторах. - RFC: Reclassify E_STRICT notices — Предлагается избавиться от класса ошибок E_STRICT — некоторые перенести в другие классы, а неактуальные убрать.
Инструменты
- Webiny Framework — Еще один PHP-фреймворк и пост с обзором.
- klermonte/zerg — Небольшая библиотека для парсинга структурированных бинарных файлов.
- wapmorgan/HttpServer — Http-сервер полностью написанный на PHP.
- briannesbitt/Carbon — Удобная обертка над функциями работы с датой и временем в PHP.
- jbroadway/urlify — Библиотека для генерации урлов (slug), поддерживает транслитерацию. Порт URLify.js из Django.
- Dashbrew — Сборка Vagrant-бокса с удобной конфигурируемой средой для разработки PHP-приложений.
- maknz/slack — Библиотека для отправки и приема сообщений из Slack.
- Boris — Отличный REPL для PHP.
- cartalyst/converter — Библиотека для конвертации значений из различных систем измерения.
- FastRoute — Обновился быстрейший роутер от Никиты Попова. В версии 0.4.0 добавлена возможность регистрации роута с несколькими методами одним вызовом.
- Graphene — Графовая база данных на PHP + MySQL.
- phrep — Препроцессор макросов для PHP.
- mcordingley/Regression — Библиотека реализующая базовые алгоритмы регрессионного анализа.
- bound1ess/adviser — CLI-инструмент для проверки PHP проектов на наличие readme/license/contributing файлов, правильные настройки Git-репозитория и Composer-манифеста, поддержку PSR-2, SemVer и т.п.
Материалы для обучения
-
Laravel
- Laravel-приложение и использование 500px API, 2
- Использование паттерна Репозиторий в Laravel 5
- Об особенностях автозагрузчика в Laravel 5
- Трюки Eloquent для лучших репозиториев
- Фильтрация моделей в Eloquent в Laravel
-
Symfony
- Symfony Must Watch — Сборник рекомендуемых к просмотру видеозаписей по Symfony.
- Пишем кастомный ParamConverter в Symfony2
- Структурирование (Symfony) приложения, 2
- Изменение объекта Response глобально с использованием события Kernel Response
-
WordPress
- Бюджетные сайты в Хабаровске, как мы это делаем
- Нюансы коммерческой разработки на WordPress
- Недостатки WordPress — техническая сторона
- Об устройстве OPCache в PHP
- Использование ошибок связанных с повреждением памяти в PHP — Продемонстрировано создание эксплоита для уязвимостей сериализации в PHP.
- Проблема безопасности: Использование Bcrypt с другими хэш-функциями — Anthony Ferrara выясняет подвержен ли Bcrypt и password_hash DoS-атаке с использованием специально сформированных длинных паролей. Ответ — может быть подвержен если строку предварительно хэшировать другими функциями.
- Запрос на обратную связь: Новые MongoDB-драйверы для PHP и HHVM — В MongoDB интересуются мнением сообщества об избранном ими подходе к реализации драйверов для PHP 5.x, HHVM и PHP7.
- Делаем стартап на PHP: Локализация с помощью I18n — Продолжение серии постов о Yii.
- Безопасное распространение PHAR-файлов: проблемы и решения
- Создание кастомных плагинов для расширения MySQLnd
- PHP со скоростью C — Об использовании Recki-CT.
- Серия постов об устройстве ReactPHP
- Принцип Инверсии Управления – Голливудский Принцип
- Перезапуск демона на PHP без потери соединений к нему
- 30 чудных библиотек для PHP программистов
- Дайджест интересных материалов из мира Drupal #5, #6
- Показываем процесс работы непрерывной задачи на сервере, используя одно соединение
- CKFinder — размеры картинок
- Sendmail-заглушка для PHP и на PHP
- PHPUnit: Электронная таблица (spreadsheet) в качестве источника данных (data provider)
- Текстовой чат для сайта
- PHPixie 3.0 ORM или новый взгяд на ActiveRecord
- Zend Certification. Не так страшен черт
- Атомный реактор в каждый сайт
- Взаимодействие PHP и Erlang по средствам RabbitMQ
Аудио и видеоматериалы
- PHP must watch — Сборник рекомендуемых к просмотру видеозаписей по PHP.
- ZF3 SF meetup — О Zend Framework 3 от Matthew Weier O'Phinney.
Занимательное
- Пасхальные яйца на php.net —
↑↑↓↓←→←→ba↵
- Опрос: Лучший PHP-фреймворк 2015
- Наблюдаем за голосованиями по PHP RFC в реальном времени
Прислать ссылку
Быстрый поиск по всем дайджестам
← Предыдущий выпуск
Автор: pronskiy