Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- Последний релиз ветки PHP 5.3 — PHP 5.3.29 — Спустя 5 с небольшим лет после выпуска, поддержка ветки 5.3 официально завершена. Релиз 5.3.29 стал последним в истории и включил в себя ряд исправлений безопасности реализованных ранее в ветках 5.4 и 5.5. Дальнейших обновлений не планируется. Подробнее об истории ветки 5.3 написал ее релиз-менеджер Johannes Schlüter в своем посте.
- PHP 5.6.0RC4 — Четвертый и последний релиз-кандидат новой версии интерпретатора. Финальный релиз ожидается уже 28 августа. Обзор нововведений 5.6 тут и тут
.
- PHP 5.5.16, 5.4.32 — Обновления актуальных веток. Кстати, следующий релиз ветки 5.4 станет последним релизом, который содержит не только исправления безопасности (подробнее в internals). Таким образом, вместе с релизом 5.6 продолжится практика двух актуальных веток и одной ветки с поддержкой безопасности.
- CodeIgniter обзавелся новым домом — Чуть больше года назад компания EllisLab, занимавшаяся разработкой CodeIgniter, объявила о том, что не в силах поддерживать фреймворк и ищет нового владельца. В твиттере EllisLab говорится, что новый хозяин найден, но подробная информация будет позже. Есть ли шансы у CodeIgniter с новой компанией по-настоящему вернуться в гонку?
PHP
- RFC: Включить PHPNG в ветку master — Поскольку PHPNG уже достаточно стабилен, то было предложено включить ранее бывшую экспериментальной ветку PHPNG в master, и таким образом сделать новую реализацию основой PHP 7. Предложение практически единогласно принято и уже реализовано, а значит, если все пойдет по плану, то мир увидит PHP 7 через год или позже, в зависимости от количества прочих изменений. Go PHP 7!
- RFC: Closure::call — Предложение добавить новый метод
call
. Он позволит выполнить замыкание, передав первым параметром объект, который будет использован в качестве$this
в теле замыкания. Аналог методаcall
в JavaScript. - RFC: Add pecl_http to core — Как ясно из названия, предлагается интегрировать популярное PECL-расширение непосредственно в ядро.
- RFC: Switch default multiple — Первые результаты публикации спецификации языка PHP — предложение, в котором предлагается исправить некорректное поведение интерпретатора и запретить использование нескольких блоков
default
в конструкцииswitch
. - RFC: Abstract syntax tree — Голосование по реализации абстрактного синтаксического дерева заканчивается уже завтра и рискует стать первым абсолютно единодушным решением — ни одного голоса против.
- Другие предложения: RFC: Function Referencing as Closures, RFC: Binary String Comparison — предложение по приведению в порядок нестрогого сравнения числовых строк.
Инструменты
- Phred — Расширение PHP, которое добавляет в язык ОО работу со строками, полную поддержку юникода, компоненты для интернационализации/локализации и много других полезных возможностей.
- patch-installer — Библиотека позволяет патчить другие пакеты после установки или обновления с помощью Composer.
- patchwork — Библиотека позволяет переопределять пользовательские функции в рантайме. Также, например, позволяет подменять статический и приватные методы тестовыми заглушками.
- Patchwork-Dumper — Продвинутый dump переменных.
- Gliph — Библиотека для работы с графами на PHP. Также для работы с графами есть библиотека Graph.
- TechDivision_ApplicationServer — Многопоточный сервер приложений на PHP.
- Negotiation — Библиотека для реализации content negotiation в PHP приложении.
- php-resque — Порт популярной Ruby-библиотеки Resque для работы с очередями задач на основе Redis. Туториал по использованию тут.
- php-webshells — Большая подборка веб-шеллов на PHP.
- Сonduit — Middleware на PHP, порт Sencha Connect для Node.js.
- Grav — Файловая CMS.
- Dice — Минималистичный Dependency Injection контейнер.
- Factory Muffin — Библиотека для быстрой генерации тестовых объектов. Аналог Factory Girl из Ruby.
- Elcodi — Набор e-commerce компонентов для Symfony 2.
- 30 самых часто используемых бандлов Symfony
Материалы для обучения
-
Symfony
- Symfony2 для высоконагруженных приложений — Отличный пост об архитектуре приложения на Symfony 2, обрабатывающего миллиард запросов в неделю.
- Обработка POST-запросов от AngularJS в Symfony
- Руководство по Symfony-сертификации — Сборник тем и ссылок по ним для прохождения сертификации от SensioLabs.
- Symfony 2 Joboard — Подробный туториал по релизации приложения на Symfony 2 от начала и до конца. В последней части рассмотрена отправка писем с помощью Mailer.
OAuth авторизация в Symfony
Оптимизация модулей RequireJS в Symfony2
Реализация системы тегов в админке с бандлом SonataAdminBundle
Ускорение работы Symfony-бандла с помощью Zephir
-
Laravel
- Создаем приложение на Laravel и EmberJS в Vagrant
- Валидация данных в Laravel, 2
- Расширяем очереди в Laravel
- Создание базового сайта на Laravel — Туториал по Laravel для начинающих.
- Основы Python для PHP-разработчиков
- Сравнительный тест производительности Dependency Injection контейнеров — Протестированы PHP-DI, Zend/Di, Aura.Di. Symfony/DependencyInjection, Orno/Di и Dice.
- Тестирование кода, который что-либо выводит — Задача протестировать код выводом заголовков или контента. Для этого автор предлагает использовать трюк с неймспейсами.
- Как сгенерировать уникальную 64-битное целое число из строки — Пример реализации хэш-функции на основе md5 и GMP.
- Предотвращение dogpile-эеффекта — В посте идет речь о кэшировании и проблеме, когда срок валидности кэша истек и к приложению поступает сразу множество запросов, для каждого из которых приложение пытается сгенерировать новые данные. Предлагается типичное решение в виде использования семафора.
- Быстрый роутинг с помощью PHRoute
- Как привести в порядок PHP-приложение, 2 — Несколько рекомендации по улучшению производительности.
- Проверьте качество вашего кода с помощью SensioLabs Insight — Обзорный туториал по использованию сервиса от создателей Symfony. Бесплатно для проектов с открытым кодом.
- Fractal — практическое применение — Рассмотрено использование библиотеки Fractal для решения проблемы безболезненного изменения схемы БД в RESTful приложении.
- Цифровая подпись релизов проекта — Фабьен пишет о том, как использовать PGP-ключ для подписи Git тегов и архивов.
- Легаси код — это болезнь — О том, почему подход «поддерживать все, пока мы в состоянии» может обернуться проблемами.
- Профилирование с помощью Xhprof & Xhgui, 2
- Использование Composer для Magento — Коротко о Composer и использовании Magento Composer Installer.
- Reasoned PHP — О логическом программировании и PHP. Автор реализовал интерпретатор логического языка на PHP.
- Реализация API в вашем легаси приложении с помощью Toro — Об использовании ToroPHP.
- Делаем запросы безопасными с помощью JWT (JSON Web Tokens)
- PECL/mysqlnd_ms: summer time, (connection) pool time — Пост об использовании расширения PECL/mysqlnd_ms для реализации репликации и балансировки нагрузки кластеров баз данных MySQL.
- Правила полета для Git — Сборник типичных проблем и решений для повседневной эффективной работы с Git.
- Строки в PHP — Руководство для начинающих.
- echo vs print — О разнице для начинающих.
Шаблоны проектирования в PHP: Цепочка обязанностей
С Yii 1.1 на Yii 2.0: часть 1, часть 2
OpenSource-им PHP код
Понимание и работа с данными в WordPress. Часть 1. Введение
Оптимизации WordPress. Часть 2. Итоги конкурсa «ВПС на год за лучшие идеи!»
Малоизвестные функции в WordPress
Крупная уязвимость в WordPress и Drupal может положить сайт
И опять атака на сайты WordPress — перебор + XMLRPC
Темы WordPress и «бесплатный сыр» — 54% популярных тем для WP содержат зловредный код.
Поучительная история о том, что может случиться с сайтом на shared-хостинге
Ускорение сайта на wordpress с Microsoft Azure по-быстрому
Свой сервис скриншотов для спокойного сна
Несколько версий PHP в ISPmanager
Magento шаг за шагом: REST API
Badoo PHP Code Formatter. Теперь в open source!
Генерация xkcd паролей на PHP
И снова про монады в PHP
Сессии в PHP — подводный камушек при асинхронных запросах — Вопрос известный, но всплывает регулярно. В тему еще одно решение предложено здесь — данные сессии только для чтения.
mysqlnd — проводник между PHP и MySQL
Аудио и видеоматериалы
Разработка слабосвязанных (decoupled) библиотек для PHP
Масштабирование Symfony2 приложений с помощью RabbitMQ
Как Silex спас меня от легаси-кода
Практический взгляд на Angular/Laravel приложение
Прощай, LAMP-стек? — Видеозапись доклада о HHVM.
- Coding and Dreaming — PHP in 2014 — PHP Tour Lyon 2014 — Видеозапись доклада Расмуса Лердорфа. Об истории PHP и нововведениях PHP 5.6.
virtPHP — как это работает — О том как устроен инструмент, который позволяет использовать сразу несколько изолированных PHP-окружений на одной машине.
- Software Development podCAST #7 — Разговор с samdark о Yii, PSR, PHPNG, HHVM и многом другом.
Занимательное
- PHP-конференции 2014 — Список событий в PHP-мире во втором полугодии.
- Хватит притворяться, что все в порядке — Интересный пост от Phill Sturgeon, об open-sorce и жизни.
- Обновленная статистика использования встроенных функций PHP — Ранее в дайджесте была ссылка на исследование, в котором автор проанализировал PHP-репозитории на GitHub и опубликовал список самых часто используемых функций PHP. На этот раз список обновлен и включает также языковые конструкции вроде
empty
иisset
. - Исследование языков программирования в Reddit — Интересная статистика по взаимному упоминанию различных языков в соответствующих тредах на Reddit.com. Также предложена статистика по употреблению различных слов в тексте сообщений. PHP победил по числу слов crap, fuck, hate, shit.
the @phpbard — В дополнение к твиттер-аккаунту @phpbard с четверостишьями на тему PHP создан блог с целыми сонетами и песнями.
Быстрый поиск по всем дайджестам
← Предыдущий выпуск
Автор: pronskiy