Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- Релизы PHP: 5.6.6, 5.5.22 и 5.4.38 — Обновления актуальных веток. Устранены две уязвимости и исправлены ошибки. Уязвимость CVE-2015-0235 связана с возможностью проведения атаки GHOST из-за прямой передачи аргументов
gethostbyname()
в соответствующую функцию Glibc. Уязвимость CVE-2015-0273 вызвана обращением к уже освобождённым областям памяти при декодировании данных DateTimeZone через вызовunserialize()
. - Анонс спецификации языка Hack — Команда HHVM из Facebook в прошлом году дала старт спецификации PHP, которая была подхвачена группой PHP и активно дорабатывается. В этот раз была представлена спецификация Hack, которая хоть во многом и идентична PHP, но и не без отличий, естественно.
- Ожидается в HHVM — Перечислены новые возможности в ближайшем релизе HHVM 3.6, например, асинхронные запросы к MySQL. А также о планах на 2015 год.
- Доступно для покупки 3-е издание Zend PHP 5 Certification Study Guide
PHP
- RFC: Scalar Type Hints — Предложение по праву можно назвать самым спорным и обсуждаемым в истории PHP. Pascal Martin подробно описал суть предложения в своем посте. Также в поддержку предложения выступил Энтони Феррара, изложив аргументы за у себя в блоге. Тем не менее камнем преткновения стал вопрос строгости типизации и ряд справедливых контраргументов привели Расмус Лердорф в комментариях, Зеев Сураски в php.internals и многие другие.
Голосование закончилось с результатом 67 за и 34 против, а значит, не хватило всего одного голоса для его принятия. В связи с этим автор предложения Andrea Faulds, объявила о том, что прекращает работу над PHP и отзывает свои RFC среди которых Scalar Type Hints, Spaceship/Combined Comparison Operator, Void Return Type, Big Integer Support. Несмотря на это, работу над предложением подхватили другие core-контрибьюторы, результатом чего стали предложения от Энтони Феррара — Scalar Type Hints v5 и от Зеева Сураски — RFC: Coercive Types for Function Arguments. - RFC: Combined Comparison (Spaceship) Operator — Предложение добавить оператор
<=>
хоть и было отозвано, но позже восстановлено, принято и влито в PHP 7. - RFC: Native Design by Contract support as definition — Предлагается реализовать в языке PHP возможности контрактного программирования. Также чуть ранее было аналогичное предложение, но с указанием контрактов в аннотациях.
- RFC: Make empty() a Variadic — Предлагается добавить в функцию
empty()
возможность передавать любое число аргументов:if (empty($a, $b, $c)) {}
. - RFC: Context Sensitive Lexer — Принятие этого предложения позволит использовать некоторые ключевые слова в качестве имен классов или методов.
- RFC: In Operator — Предлагается добавить новый оператор
in
, который облегчит проверку на вхождение элемента в строку или массив:$contains = "foo" in ["foo", "bar"]; // true
- RFC: Encapsulation — Предлагается реализовать инкапсуляцию классов, интерфейсов и трейтов на уровне пространств имен. Таким образом, класс, объявленный как приватный в нейсмпейсе, будет доступен только внутри этого неймспейса.
- RFC: Sum Types — Начиная с версии 5.1 в PHP добавлена возможность явно указывать тип параметров, а в PHP 7 реализована поддержка указания типов возвращаемых значений. Предлагается добавить возможность указания нескольких типов для этих случаев, например:
function (array|Traversable $in) {}
Инструменты
- Mondrian — Набор консольных утилит для статического анализа кода. Позволяет выявить и отрефакторить сильно связный код.
- RegExpBuilder — Конструктор регулярных выражений.
- wapmorgan/ServerStat — Утилита сбора информации (cpu, mem, swap) для мониторинга сервера.
- Gatekeeper — Независимая от фреймворков библиотека, реализующая систему RBAC с юзерами, группами, правами.
- PHPBU — PHP Backup Utility — Утилита для создания и синхронизации бэкапов БД и файлов.
- phptrace — Расширение для трассировки PHP-скриптов и вывода стека вызовов.
- MINI 2 — Скелет приложения на основе микрофреймворка Slim, предназначенный для быстрого прототипирования.
- Pake — Make для PHP.
- appserver.io — Многопоточный сервер приложения на PHP для PHP.
- PHP Face Detection — Распознавание лиц на PHP.
- Medio — Кодогенератор с использованием twig-шаблонов.
- ePHP — Интерпретатор PHP на чистом Erlang.
Материалы для обучения
-
Laravel
- Что нового в Laravel 5
- Использование StackPHP middleware в Laravel 5 — В Laravel 4.1 была реализована совместимость StackPHP, однако в Laravel 5 реализован собственный интерфейс для middleware-компонентов. Пост о, том как вернуть совместимость.
- О CSRF-защите в Laravel
- Как упороться по DDD, модульной структуре и областям ответственности в Laravel. А потом стать счастливым =)
- Laracasts.com: Laravel 5 Fundamentals — Цикл скринкастов по разработке на Laravel от начала до конца.
- Быстрая разработка приложения — от идеи до прототипа за 1 ч 45 мин с помощью Laravel
-
Symfony
- Symfony2. Универсальный инструмент для быстрого приготовления табличных списков в административной панели
- Запускаем Symfony 2 на PHP 7
- Обзор компонентов Symfony2: Применение преобразователя данных
- Шпаргалка по Symfony2
- Динамическое обращение к $this не должно работать, но работает — Хороший ответ от Никиты Попова на StackOverflow о том, почему работает
${'this'
}. - Краткое введение в микрофреймворк Silex
- Графовые базы данных с помощью Neo4j и PHP
- Делаем стартап на PHP: Геолокация и Google Places — Туториал с использованием Yii 2.
- Развертывание приложений с помощью Envoy
- PHP Void: Много шума из ничего — Комментарий от Phill Sturgeon к предложению RFC: Void Return Type.
- Настройка Jenkins с Codeception
- Как HHVM использует C++ для развлечения и пользы — Доклад больше по C++, но будет полезен тем, кто интересуется внутренностями HHVM.
- Используем Travis CI для автоматизации блога на Sculpin
- Разбор вызовов функций в PHP
- Нестандартная оптимизация проектов на PHP
- Опрос: как у вас решается проблема синхронизации параллельных запросов на PHP?
- PSR-7 в примерах — Кстати, стандарт перешел в стадию ревью и, возможно, будет принят в скором времени.
- Отладка с помощью XDebug и PhpStorm (дополнение)
- Дайджест интересных материалов из мира Drupal #4
- Как я интегрировал WebSockets в существующую систему на PHP
Занимательное
- Faces Of The Elephpant — Фото деятелей PHP-сообщества.
- phpToday — Аналог Hacker News для PHP-ссылок.
Если вы заметили опечатку или ошибку, пожалуйста, напишите мне в личку!
Прислать ссылку
Быстрый поиск по всем дайджестам
← Предыдущий выпуск
Автор: pronskiy