Следуя традиции, мы решили подвести итоги уходящего года и выделить самые значимые события в мире PHP, которых, к счастью, было немало. И конечно же, подборка со ссылками на свежие материалы за последние три недели.
Под катом вас также ждет конкурс с призами от компании JetBrains!
В конкурсе прогнозов прошлого года победил chris_griffin с предположением:
Php станет официальным языком в Индии.
К счастью этого не случилось, но вот прогноз steppefox, занявший третье место, во многом оказался близок к реальности:
1. Возрастет популярность HHVM.
2. Весной выйдет бета Yii2, поздней осенью стабильный релиз
3. В РФ сделают свой небольшой Laracon 2014
4. На Хабре появится несколько десятков провальных статей в духе «Ваш PHP не очень», или «мой любимый язык» vs PHP.
5. Переведут на русский книгу по Laravel.
6. Выйдет книга по Phalcon
7. На PHP-сцену попытается ворваться еще один фреймворк
8. Изменятся правила Zend-сертификации
9. Слоников наконец можно будет по человечески заказать
Безусловно, самым важным событием уходящего года стал выход новой мажорной версии интерпретатора — PHP 5.6. В релизе был представлено много новых возможностей: скалярные выражения в константах, функции с переменный числом аргументов, оператор возведения в степень **, импорт функций и констант из пространств имен, встроенный отладчик phpdbg, перегрузка операторов для объектов GMP и для других расширений.
Приятным сюрпризом стал проект под кодовым названием PHPNG — интерпретатор PHP нового поколения. А все началось с сообщения Дмитрия Стогова в php.internals и соответствующей ветки в репозитории. Была проделана огромная работа по оптимизации Zend Engine. Ветка была влита в master и стала основой следующей версии интерпретатора. Производительность PHPNG уже превышает PHP 5.6 и догоняет HHVM.
Также по итогам бурного обсуждения и голосования было решено эту самую следующую версию выпускать под номером 7 и согласно плану релиз должен состояться уже в наступающем году.
Уходящий год порадовал также появлением формальной спецификации языка PHP.
Пожелаем удачи Группе PHP в 2015 году!
Релиз Yii 2.0 — событие которого так долго ждали многие наконец-то состоялось в этом году! Сначала бета-релиз, а затем и последовавшие за ним релиз-кандидат и GA. Отличная документация и руководство, а также доступные книги (Yii 2 For Beginners, Web Application Development With Yii 2 And PHP) помогут быстро освоиться с фреймворком.
Популярнейший PHP-фреймворк в этом году обозначился релизами 2.5, 2.6. Проекту Symfony исполнилось 9 лет, а на базе фреймворка создается все больше универсальных решений. Не говоря уже о повсеместном использовании Symfony-компонентов и создании собственных фреймворков на их основе.
Альтернативная виртуальная машина PHP от Facebook продолжает активно развиваться, был представлен релиз 3.0.0. Некоторые крупные проекты переходят на использование HHVM — это и Wikipedia и, например, Box. Однако по-настоящему интересным стал анонс встроенного в HHVM языка HACK. Язык представляет собой улучшенный PHP с такими желанными возможностями, как статическая типизация, лямбда-выражения, обобщения (generics), асинхронность и другие.
Среди других альтернативных реализаций PHP, появившихся в 2014 году, хочется отметить KPHP, PH7, HippyVM, JPHP, Recki-CT.
Триумфальное шествие менеджера зависимостей для PHP продолжилось в 2014 году. PEAR окончательно мертв, от поддержки каналов отказались PHPUnit, Twig, Swiftmailer, Symfony и другие. Компания Engine Yard выделила грант в размере $15k на год для поддержки Composer в лице одного из авторов — Nils Adermann. Другой автор, Jordi Boggiano, занялся разработкой коммерческого Toran Proxy для поддержки Composer. Пожелаем им удачи в новом году!
Официальный маскот PHP — слоник ElePHPant — был создан Vincent Pontier в 2007 году. Но в 2014 он пережил новый бум. Сначала ребята из php[architect] запустили кампанию на Kickstarter с целью собрать $1000 на создание оранжевых PHP-слоников. Меньше чем за сутки им удалось собрать больше $20000! Затем сообщество PHPWomen успешно провело кампанию с фиолетовыми слониками — $26395. И вот под конец года кампания с черными слониками от AmsterdamPHP.
Больше цветов, больше слоников в новом году!
Новости и релизы
-
Composer
- Как Composer на 70% ускорили — Действительно легендарный коммит, в котором был отключен сборщик циклических ссылок. Подробный анализ можно найти тут. Вместо полного отключения также предлагается использовать трюк:
gc_enable(); gc_collect_cycles(); gc_disable();
. - Минимально допустимые версии зависимостей в Composer — В популярный менеджер зависимостей была добавлена возможность использовать флаг
--prefer-lowest
для установки пакетов минимальной версии. - Файлы Сomposer индексируется в Google — На многих сайтах файлы composer.lock и composer.json лежат в web root и на самом деле индексируются, что потенциально опасно.
- Melody — однофайловые Composer-скрипты — Инструмент позволяет описывать Composer-зависимости непосредственно в php-файле.
- Composer 1.0 alpha9 — Обзор последних нововведений.
- Как Composer на 70% ускорили — Действительно легендарный коммит, в котором был отключен сборщик циклических ссылок. Подробный анализ можно найти тут. Вместо полного отключения также предлагается использовать трюк:
- PHP_CodeSniffer 2.0.0 — 19 месяцев работы и множество полезных возможностей, включая автоисправления и многое другое.
- WordPress обновился до версии 4.1
- Yii 2.0.1
- TYPO3 7.0 — После двух лет разработки опубликован релиз открытой системы управления web-контентом TYPO3 7.0.
- PHP 5.6.4, 5.4.36 и 5.5.20 — Обновления актуальных веток, в которых устранены уязвимости в коде распаковки сериализированных данных, а также исправлено 20 других ошибок.
PHP
- RFC: Scalar Type Hints — Еще одна попытка реализовать тайп-хинтинг для скаляров в PHP.
- RFC: Unicode Codepoint Escape Syntax — Принято предложение добавить возможность задания юникод символов в виде кодов:
echo "u{202E}Reversed text";
. - RFC: Nullsafe Calls — Предложения добавить новый оператор
?->
, который позволит делать безопасные цепочки вызовов, в случае когда возвразщаемое значение может бытьnull
:
$o?->mayFail1()?->mayFail2()?->mayFail3()?->mayFail4();
Инструменты
- PHProutine — Эмуляция горутин в PHP.
- ProxyManager 1.0.0 — Библиотека для генерации и управления прокси-объектами.
- Omnipay — Простая в использовании библиотека обработки платежей для PHP 5.3+.
- Box Project — Инструмент для удобного создания и управления phar-архивами.
- Elephant.io — Вебсокет клиент.
- Couscous — Генератор GitHub Pages сайта с документацией.
- brandonsavage/booboo — Продвинутый обработчик исключений и ошибок в PHP. Поддерживает различные виды отображения инофрмации об ошибках.
- commando/dogpatch — Фреймворк для тестирования HTTP API с помощью curl.
Материалы для обучения
-
Laravel
-
Symfony
- VarDumper — новый компонент в Symfony 2.6
- Как просто подружить Symfony2 и RequireJS на примере SPA
- Unpacking Symfony2: What are compiler passes
- Going SOA with Symfony2: A year and a half down the road
- Преобразователи (Трансдьюсеры / Transducers) в PHP — Концепция трансдьюсеров, представленная не так давно в Clojure, теперь нашла свою реализацию и в PHP.
- О поддерживаемой версии PHP — Стало известно, что CodeIgniter 3.0 будет поддерживать 5.2. В посте Энтони Феррара рассуждает на эту тему.
- Async — многозадачность для Hack
- Expert PHP Deployments — Бесплатная книга о развертывании PHP-приложений с помощью Capistrano, Phing и Vagrant.
- QA процесс для PHP проектов с помощью Jenkins — Установка, настройка, плагины для PHP.
- 3 способа создания кроссплатформенных десктопных приложений на PHP — Рассмотрены Nightrain, wxPHP и TideSDK.
- О том как работает покрытие кода в связке PHPUnit и Xdebug
- Внедрение трейтов в Zend Framework 2
- PHP vs Ruby — Срок годности приложения — Первый из серии постов о том, почему автор в своей компании после 5 лет использования Ruby вернулся к PHP.
- Оплата Bitcoin с помощью Coinbase и Bitpay
- Использование трейтов в сущностях Doctrine
- Простое разделение на чтение/запись с помощью PHP расширения MySQLnd
- Стековые машины: компиляторы — Серия постов от Igor Wiedler о стековых машинах, и гостевой пост от Энтони Ферарра о компиляторах.
- Composer. Небезопасно использовать packagist и приватный источник пакетов одновременно
- WordPress для параноиков, часть 1
- Как мы пытались внедрить Яндекс.Кассу
- Виртуальные хостинги и php5.4, когда уже?
- Дайджест интересных материалов из мира Drupal
- Обработка и оформление отчетов в Excel на PHP
- DOMPDF – экспорт данных из PHP в PDF
- Несколько советов по ускорению Drupal
- Генератор случайных личностей
- Пространства имен в PHP
Аудио и видеоматериалы
- PHP на 5000 запросов в секунду: История масштабирования Hootsuite, 2
- Интервью с Зеевом Сураски для PHP Frameworks Day 2014
Прислать ссылку
Быстрый поиск по всем дайджестам
← Предыдущий выпуск
Новогодний конкурс
PHP-Дайджест совместно с компанией JetBrains в последнем дайджесте уходящего 2014 года объявляют конкурс среди постоянных читателей.
Предлагаем вам определить самого лучшего деятеля PHP-сообщества 2014 года. В комментарии напишите имя самого достойного кандидата и объясните за какой вклад в уходящем году его можно считать лучшим.
Авторы трех комментариев набравших больше всего голосов получат отличные новогодние подарки. Компания JetBrains всех трёх победителей наградит персональными лицензиями PHPStorm IDE! Также каждый победитель получит футболку с логотипом PHP от интернет-магазина #ITStuff.
Но самое важное — номинанту, который наберет больше всех плюсов, вместе со званием «Человек года по версии PHP-Дайджеста» будет отправлена та самая PHP-кружка:
Результаты будут объявлены 26 декабря в 19:00 по московскому времени.
Давайте вместе вспомним, кто был самым лучшим 2014 году?
Автор: pronskiy