Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- PHP 7.0.0 RC 2 — Второй релиз-кандидат содержит исправления для 28 обнаруженных ошибок, 7 из которых связаны с безопасностью. Релизы PHP-7 выпускаются строго в соответствии с планом, что не может не радовать.
- Окончание поддержки PHP 5.4 — Релиз PHP 5.4.45 стал последним запланированным обновлением ветки.
- Обновления PHP 5.5.29 и 5.6.13 — Свежие релизы актуальных веток. Устранены проблемы безопасности и исправлены ошибки.
- PhpStorm 9.5 Early Access Program — Новая версия PhpStorm доступна для тестирования в рамках программы раннего доступа. Среди заметных улучшений — встроенный REPL. Со списком готовящихся нововведений можно ознакомится тут.
Также компания JetBrains анонсировала новую модель оплаты за пользование продуктами на основе подписки. - Уязвимость в нескольких проектах Doctrine — Обнаруженная проблема безопасности позволяла злоумышленнику выполнить произвольный код. Пользователям Doctrine Cache, Annotations, ORM и MongoDB ODM рекомендуется обновиться.
- PHP Frameworks Day 2015 — 17 октября в Киеве пройдет PHP-конференция. Программа еще формируется, тем не менее среди докладчиков уже заявлен Jordi Boggiano — один из авторов Composer.
PHP
- RFC: Callable Types — Предлагается реализовать возможность задания прототипов (интерфейсов) анонимных функций:
function reduce(int $a, int $b, callable(int, int):int $reducer) : int { return $reducer($a, $b); }
- RFC: More precise float value handling — Предлагается добавить возможность задания точности вещественных чисел при сериализации.
- Исследователь из Google будет заниматься проблемами безопасности PHP — В своем письме в php.internals Matt Tait обещает в краткосрочной перспективе удостовериться, что все настройки безопасности компилятора и операционной системы для PHP включены по умолчанию. В долгосрочной перспективе заинтересован в реализации дополнительных возможностей для обеспечения безопасности PHP-приложений. Первым результатом работы Мэтта стал ниже приведенный RFC.
- RFC: Automatic SQL Injection Protection
- Исследователь из Intel будет заниматься производительностью PHP — Bogdan Andone пишет о том, что компания Intel заинтересована в активном участии в проекте PHP и в поиске новых возможностей для улучшения производительности. Вместе с объявлением прилагался пулл-реквест по улучшению работы с памятью.
- RFC: Generics — Автор предлагает реализовать концепцию обобщений в PHP. Подобная возможность уже реализована в Hack, а также доступна экспериментальная реализация для PHP.
Инструменты
- flarum/flarum — Движок форума на PHP. Хоть и в бете, но выглядит многообещающе: демо.
- Telegram Bot на PHP — Прислал L0NGMAN.
- rybakit/phive-queue — Очередь с планированием по времени и поддержкой различных бэкендов. Прислал rybakit.
- khoaofgod/phpfastcache — Очень простой, но достаточно мощный класс для кэширования.
- maximebf/php-debugbar — Отладочная панель для PHP.
- elfet/purephp — Key-value хранилище на чистом PHP.
- jonathantorres/construct — Инструмент позволяет генерировать структуру папок и файлов для нового PHP-проекта.
- ircmaxell/Stauros — Экспериментальная библиотека для защиты от XSS.
- paragonie/anti-csrf — Полнофункциональная анти-CSRF библиотека.
- sjparkinson/static-review — Фреймворк для написания Git-хуков на PHP. Туториал с примером использования.
- zendframework/zend-expressive — Новый проект от Zend, позволяющий быстро реализовывать middleware-решения на основе PSR-7.
- phpro/grumphp — Инструмент устанавливает Git-хуки для автоматической проверки качества PHP-кода.
- raveren/kint — Красивая замена функциям
var_dump()
,print_r()
иdebug_backtrace()
. Поддерживает CLI-режим. - bravo3/orm — ORM для NoSQL хранилищ типа Redis.
- thephpleague/container 2.0 — Обновленный DI-контейнер.
- umpirsky/centipede — Инструмент проверяет доступность всех страниц приложения.
- Php Inspections (EA Extended) — Расширение для PhpStorm, дополняющее возможности статического анализа кода. Прислал kalessil.
Материалы для обучения
PHP 7
Symfony
- Компонент маршрутизации Symfony 2.7 — Routing
- Symfony Routing — Как сопоставить маршрут на основе хоста — Рассказывается о том, как ограничить маршрут для определённых доменов или поддоменов.
- EventListeners as Collectors in Symfony
- Использование Codeception для Symfony-проектов
Yii
- Набор Yii2 Behavior для хранения деревьев в БД и их совместного использования
- Как не надо писать сравнения. Symfony2 vs Yii: какой фреймворк выбрать в 2015-м году?
- yii2tech — Набор полезных расширений для Yii 2.
Laravel
- Социальная сеть на PHP — Видеокурс от www.codecourse.com по созданию соцсети с использованием Laravel.
- Real-Time чат с помощью Laravel 5 и pusher.com
- Сравнение Blade и Twig шаблонов в Laravel
- Laravel: Ratchet — WebSocket. Учимся работать с сокетами, 2
- Автоинкриментные ID — чем грозит и что делать — Кроме упомянутого в статье zackkitzmiller/tiny-php для обфускация идентификаторов существуют также jenssegers/optimus, ivanakimov/hashids.php.
- Руководство по использованию Libsodium в PHP-проектах — О решении криптографических задач на PHP с помощью libsodium и расширения libsodium-php.
- Логгирование с помощью Monolog — Пример отправки сообщений логгера в мессенджер Slack.
- PHP-приложения управляемые голосом с помощью API.ai
- Снова о PDO — правильный способ работы с базами данных в PHP
- Миграция существующих пользователей на новый алгоритм хэширования паролей
- Эффективно выбираем случайные элементы из большого массива
- Переосмысление Event Listeners — Логику не стоит писать в обработчике события.
- Интегрируем оплату через Paypal в web-приложение
- Эволюция сборки логов «облака» и сборщик логов в open source
- Дайджест интересных материалов из мира Drupal #12
- Ускоряем запросы в БД с помощью PDO и итераторов
Аудио и видеоматериалы
- C чего начать изучение PHP?
- Основы массивов в PHP, полезные функции для работы с массивами
- Разработка PHP-расширения для реализации массива с изменяемым в размером
- Видеозаписи докладов с конференции phpDay 2015
Спасибо за внимание!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку.
Присылайте ссылки на интересные статьи или полезные инструменты, которых не было в PHP-Дайджестах, и ваше имя будет рядом с присланной ссылкой в выпуске.
Вопросы и предложения жду на почту или в твиттер.
За фото отдельное спасибо Davert!
Прислать ссылку
Быстрый поиск по всем дайджестам
< Предыдущий выпуск
Комментарии (20)
Melkij
07.09.2015 11:02+1Релиз PHP 5.4.45 стал последним регулярным обновлением ветки. В течение следующего года будут выпускаться только исправления критических уязвимостей, после чего поддержка будет приостановлена полностью.
Тут что-то не так. php.net/supported-versions.php
В стадию ещё год только исправлений безопасности 5.4 перешёл в ещё в том году. 14 сентября этот срок закончится.
Это последнее запланированное обновление. Но разработчики допускают, что может быть выпущена незапланированная версия в случае значительной проблемы с безопасностью. Какие-то сроки при этом не называются.
sHinE
07.09.2015 19:10+3Удивился, что на хабре нет обсуждения новой лицензионной политики JetBrains, в буржуйнете активное бурление по этому поводу идёт, а у нас — глухо. Или просто мимо меня прошло.
Strate
08.09.2015 10:46+5RFC: Automatic SQL Injection Protection — очень надеюсь что это предложение отвергнут. Всем последние несколько лет вдалбливали что надо использовать подготовленные выражения, а тут предлагают сделать какой-то костыль только потому что говнокодеры продолжают использовать конкатенацию?
RFC: Generics — отличное предложение, давно жду. Однако всё как всегда — сделано на половину. Type Inference не придумалось видимо у авторов.Fesor
08.09.2015 11:48Type Inference разве имеет отношение к дженерикам? Мне казалось что это фишка компилятора/парсера и только, то есть это совершенно отдельная фича.
Strate
08.09.2015 11:59Понятно что фишка эта отдельная, однако в случае с дженериками её явно не хватает.
Fesor
08.09.2015 13:20+1Тогда PR реализующий эту RFC станет слишком большим. Это правильно дробить все на небольшие порции, иначе шансы того что RFC не примут увеличиваются. У этой RFC даже реализации пока нет.
Big_Shark
Всегда радовала подборка инструментов, но с каждым месяцем она становится хуже и хуже, я допустим не понимаю как в подборку могли попасть эти инструменты:
github.com/khoaofgod/phpfastcache — нет тестов
github.com/maximebf/php-debugbar — нет обновлений уже 2 месяца
github.com/elfet/purephp — нет обновлений уже 8 месяцев
github.com/sjparkinson/static-review — не обновлялся уже год
github.com/raveren/kint — толком не обновляется, тестов нет.
pronskiy
Инструменты попадают в подборку по нескольким причинам:
Кроме того, цель дайджестов не только предоставлять готовые решения, но также стимулировать сообщество участвовать в разработке. Например, если инструмент давно не обновлялся или если в нем нет тестов, то возможно упоминание в дайджесте даст новый толчок либо кто-то из читателей решит контрибьютить/форкнуть или поделится другим известным решением.
Тем не менее, если по вашему мнению в подборку попал недостойный экземпляр — напишите мне, обязательно разберемся! Потому что, к сожалению, не всегда есть возможность тестировать все инструменты самостоятельно. И за 3 года существования PHP-дайджеста все-таки подобные случаи ошибок бывали.
И, конечно, если у вас есть хорошая библиотека на примете — присылайте, этим вы очень помогаете дайджесту!
yTko
удалил
alxsad
Плюсую. Лучше пускай их будем меньше, но лучшего качества.
pronskiy
Учтем, пасиба
ustasby
то есть если код написан, код не плох, но не обновляется — в топку его? А по тестам, любой может написать, пишите. Считаю что делать выборку можно и без тестов.
Fesor
Возможно кто-то наткнется на что-то ему интересное и форкнет. Тот же static-review меня заинтересовал, ибо у меня сейчас это все дело хэндлится bash-скриптами. Хотя я не уверен пока, как по мне make для этих целей не плох.
Andchir
С такими критериями список инструментов будет пустым. Даже год для хорошего инструмента не срок.