Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Новости и релизы
- Последний релиз ветки 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