PHP-Дайджест № 107 – свежие новости, материалы и инструменты (9 – 23 апреля 2017) +50
Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- Yii 1.1.18
- HHVM 3.19
- PHP 7.0.18, PHP 7.1.4
- Объявлены релиз-менеджеры PHP 7.2 — Ими стали Sara Golemon, прежде была лидером HHVM, а также Remi Collet, мейнтейнер известного репозитория имени себя. Оба много контрибьютили в PHP.
- YiiConf 2017 — 16 июня 2017 в Москве пройдёт конференция веб-разработчиков, посвящённая PHP фреймворку Yii.
- DevConf 2017 — 17 июня в Москве пройдет очередная ежегодная конференция для веб-разработчиков. Открыт прием заявок на доклады.
- PHP Frameworks Days 2017 — 11 июня в Киеве пройдет ежегодная конференция посвященная PHP. Список докладчиков формируется, но уже заявлены Zeev Suraski, Marco «Ocramius» Pivetta, Mariusz Gil, Lukasz Szymanski.
PHP
- Замена интерфейса Serializable — Предложение от Никиты Попова, пока не оформленное в виде RFC. Текущая реализация интерфейса имеет ряд проблем, в том числе безопасности. Предлагается использовать интерфейс с магическими методами, которые не требуют вызова serialize/unserialize, вместо этого работают с массивами:
public function __serialize() : array; public function __unserialize(array $data) : void;
Инструменты
- spiral/spiral 1.0.0 — RAD фреймворк с поддержкой PSR7 и HMVC архитектурой.
- povils/phpmnd — Детектор использования магических чисел в PHP
- cytopia/devilbox — Современная замена XAMPP на базе Docker.
- Pterodactyl/Panel — Панель управления игровым сервером на основе Laravel.
- minds/minds — Реализация социальной сети с бэкендом на PHP.
- pietercolpaert/hardf — Библиотека для работы с RDF. Порт N3.js.
- Генератор конфига Docker Compose для популярных PHP-фреймворков и CMS
- opis/closure — Библиотека позволяет сериализовать замыкания. Альтернатива jeremeamia/super_closure.
Материалы для обучения
Symfony
- Продолжение серии статей от Fabien Potencier, об Symfony 4 и его экосистеме:
- Неделя Symfony #537 (10-16 апреля 2017)
- Неделя Symfony #538 (17-23 апреля 2017)
- Продолжение серии статей от Fabien Potencier, об Symfony 4 и его экосистеме:
Yii
- Yii development notes #5
- Yii Вопросы и Ответы — часть 1
- Обработка ошибок и исключений в Yii
- Доменные сущности и Doctrine ORM в Yii2
- Yii2-advanced: Гибкая настройка Yii2 RBAC (роли, разрешения, правила)
Laravel
- clarkeash/doorman — Система приглашений для Laravel.
- Создание бота викторины для Facebook Messenger на Laravel
- Туториал по созданию хелпера для Laravel
Zend
- andrey-mokhov/bjy-profiler — Профайлер SQL запросов для ZF3. Прислал mokhovcom.
- Неделя Zend Framework — 2017-04-13
- Неделя Zend Framework — 2017-04-20
- Обзор Xdebug по случаю 15-ти летия инструмента
- Трейты — зло?
- Когда следует объявлять методы финальными
- От массивов к классам
- Построение гибких PHP приложений — Прислал im_special_one.
- Автозапуск PHPUnit тестов с помощью Watchman
- Обзор PhalconPHP для разработки высоконагруженных RESTful API
- Как использовать новый код в легаси-приложении
- Начинаем работать с RabbitMQ в PHP
- Запускаем PHP, Ruby, и Go на AWS Lambda
- DDD в PHP: Value Object или Объект-Значение
- Создание строго типизированных массивов и коллекций с использованием value object
- php-cs-fixer: Пишем свой фиксер
- Сравнение производительности версий PHP
- Шаблоны проектирования с человеческим лицом
- Виртуальная Машина PHP 7
Занимательное
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Вопросы и предложения пишите на почту или в твиттер.
Прислать ссылку
Быстрый поиск по всем дайджестам
< Предыдущий выпуск: PHP-Дайджест № 106
Комментарии (12)
shuchkin
24.04.2017 17:22По статье о замене ассоциативных массивов объектами: в типовом веб приложении, где извлекаем данные из базы и по цепочке методов передаём шаблонизатору, реальная экономия памяти составляет до 40%
ninadata
24.04.2017 19:56В какой версии PHP?
shuchkin
24.04.2017 22:12Давно тестировал, в 5.2, сейчас должно быть ещё лучше из-за оптимизации в 7
было примерно так: echo get_comments(123) — $post->get_comments() — $db->query — mysqli_fetch_assoc
— съедает память из за копирования массива в каждом звене
стало: echo get_comments(123) — $post->get_comments() — $db->query — mysqli_fetch_object
— по сути массив ссылок передаётся и всё
* можно передавать массив по ссылке, но это не наш путь
главное, на что указывает автор, что в каждом массиве хранятся ещё и ключи, а в объектах нет
bm13kk
24.04.2017 17:22Из рабочего чата
Newest PHP (7.0.18 / 7.1.4) has new “feature” (https://bugs.php.net/bug.php?id=74216) that breaks
predis
de1vin
25.04.2017 01:20+1Кто-нибудь spiral успел попробовать? Как ощущения?
Неделю назад на него наткнулся, хотел использовать в будущем rad проекте вместо yiiLachezis
25.04.2017 02:14+4Постоянно используем ее в продакшене (50+ проектов), но я автор и этот ответ не считается.
SamDark
25.04.2017 14:23Spiral получился интересным, но я бы не стал надеяться на RAD в продакшне с новым, ещё не изученным фреймворком.
TutmeeAgency
02.05.2017 16:10Спасибо за полезную информацию! Статью «Построение гибких PHP приложений» перевел, https://habrahabr.ru/post/327746/
Gemorroj
Может кто-нибудь пояснить по поводу сериализации? Проблема с безопасностью-то понятна, но зачем мне массив в результате сериализации?
SonicGD
Чтобы убрать вызовы serialize/deserialize из методов и избавиться от проблем очерёдности этих вызовов. Вы просто возвращаете массив данных, которые должны попасть в итоговую строку, а потом на вход принимаете такой же массив для наполнения объекта.