- PVSM.RU - https://www.pvsm.ru -

По традиции, подведем итоги уходящего года и вспомним самые значимые события в мире PHP, которых, к счастью, было немало. И конечно же, подборка со ссылками на свежие материалы за последние две недели.
С наступающим Новым годом! Приятного чтения.

Уходящий год можно по праву назвать годом PHP 7. Несмотря на то что седьмая версия интерпретатора вышла в 2015, именно в этом году крупные компании перешли на PHP 7: Badoo [1], Tumblr [2], Dailymotion [3], WordPress.com [4], Etsy [5] (сменили HHVM на PHP 7). Некоторые даже называли графики падения нагрузки на серверах после обновления не иначе как «php7 porn». В следующем году для фреймворков Laravel 5.5 [6] и Symfony 4 [7] минимальной версией станет PHP 7.
Конец года ознаменовался выпуском новой мажорной версии интерпретатора — PHP 7.1 [8] с массой улучшений [9].
Параллельно шла работа и над следующей версией 7.2 и уже принят ряд RFC [10]. Кроме того Дмитрий Стогов с командой ведут работу над реализацией JIT [11].
В этом году ветка PHP 5.5 получила свой последний релиз 5.5.38 [12] и больше не поддерживается. А ветка 5.6 в следующие два года будет получать только обновления безопасности [13].
Альтернативные реализации PHP также остаются популярными. Известная HHVM получила LTS релиз [14]. Кроме того появились Peachpie [15] — компилятор PHP для .NET, и Tagua VM [16] — виртуальная машина на Rust.

Группа PHP-FIG, хоть и переживала некоторый кризис [17], была реформирована по плану PHP-FIG 3.0 [18]. А также выпустила в свет ряд новых стандартов:
А также в рамках Interoperability инициатив развиваются стандарты по более узким направлениям:

Популярный фреймворк в этом году обозначился последним релизом в ветке 1.1 — Yii 1.1.17 [30]. И целым рядом обновлений актуальной второй версии фреймворка: 2.0.7 [31], 2.0.8 [32], 2.0.9 [33], 2.0.10 [34]. Активно планируется версия 2.1 [35], и начата работа в соответствующей ветке.
К core-команде присоединился @dynasource [36]. Запущен новый yiiframework.ru [37]. Yii получил награду Tagline [38] как лучший backend-фреймворк. Была опубликована книга с рецептами по Yii 2 — Yii 2 Application Development Cookbook [39]. А также в этом году прошли конференция в Киеве [40] и первый Хакатон по Yii [41].

В этом году фреймворку Symfony 2 исполнилось 5 лет [42]. А тем временем свет увидело целых 2 релиза: фреймворка Symfony 3.1.0 [43] и Symfony 3.2.0 [44]. Пакеты Symfony были загружены уже более 500 миллионов раз [45].

Фреймворку исполнилось 5 лет [46]. В середине года вышел релиз Laravel 5.3 [47]. А также доступен план выхода ближайших версий [48], согласно которому 5.4 выйдет уже в начале следующего года, a 5.5 станет LTS версией и ожидается в июле 2017.
В этом году активно развивались платные продукты из экосистемы Laravel: Forge [49], Spark [50], Envoyer [51].

Уходящий год ознаменовался долгожданным релизом Zend Framework 3 [52], работа над которым длилась почти 4 года. Репозиторий фреймворка был переименован [53] из zf2 в zendframework. По фреймворку доступна книга [54], в том числе на русском. В это же время было объявлено о завершении поддержки Zend Framework 1 [55]. А также свет увидел Zend Expressive [56] — микрофреймворк для создания веб-приложения на основе PSR-7 middleware.
Среди других событий уходящего года следует выделить:
А что бы вы выделили еще? Пишите в комментариях к посту!
instanceof, а в будущем — реализация общих предков, например, Number для float и int.
Symfony — комбинируем GridFS файлы с ORM сущностями [83]
Yii2 RESTful API-интерфейс для AngularJS [86]
Yii2-advanced: Делаем интернационализацию с источником в Redis [87]
Виджет мультиязычности в YII2 без использования базы данных [88]
Пример создания практичной Debug панели в Yii [89]
Создание веб-приложения на PHP с иcпользованием Firebird и Laravel [91]
foo() быстрее чем foo(). Также доступен инструмент roave/functionfqnreplacer [95], который просканирует исходники и добавит слэш где необходимо.
PHP модуль на C++ [104]
Как не нужно использовать паттерн Repository [105]
Alameda, Bower и NPM интеграция в CleverStyle Framework [106]
Масштабирование ClickHouse, управление миграциями и отправка запросов из PHP в кластер [107]
Как мы уже 4 года выживаем в условиях двух релизов в день [108]
Улучшение производительности PHP 7 [109]
PHP подкаст #13 [110]
Видеообзор PHP 7.1 [111]
PHP Roundtable Podcast #057: Все о компании Zend [112]
Abusing PHP 7’s OPcache to Spawn Webshells [113]Спасибо за внимание и еще раз с наступающим Новым годом! Пусть он будет для вас лучше чем два предыдущих в сумме!
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку [115].
Вопросы и предложения пишите на почту [116] или в твиттер [117].
Прислать ссылку [118]
Быстрый поиск по всем дайджестам [119]
← Предыдущий выпуск: PHP-Дайджест № 98 [120]
Автор: Zfort Group
Источник [121]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/225532
Ссылки в тексте:
[1] Badoo: https://habrahabr.ru/company/badoo/blog/279047/
[2] Tumblr: https://engineering.tumblr.com/post/152998126990/php-7-at-tumblr
[3] Dailymotion: http://engineering.dailymotion.com/php-7-deployment-at-dailymotion/
[4] WordPress.com: https://twitter.com/WordCampUS/status/805164029371158528
[5] Etsy: https://speakerdeck.com/wcgallego/hitting-the-turbo-button-upgrading-to-php-7-at-etsy-1
[6] Laravel 5.5: https://twitter.com/taylorotwell/status/809767371774816256
[7] Symfony 4: https://twitter.com/fabpot/status/809743412715016192
[8] PHP 7.1: http://php.net/archive/2016.php#id2016-12-01-3
[9] массой улучшений: https://wiki.php.net/rfc#php_71
[10] ряд RFC: https://wiki.php.net/rfc#php_next_72
[11] ведут работу над реализацией JIT: http://news.php.net/php.internals/95531
[12] 5.5.38: http://php.net/archive/2016.php#id2016-07-21-2
[13] только обновления безопасности: http://php.net/supported-versions.php
[14] LTS релиз: http://hhvm.com/blog/11711/hhvm-3-15
[15] Peachpie: http://www.peachpie.io/
[16] Tagua VM: https://github.com/tagua-vm/tagua-vm
[17] кризис: https://groups.google.com/forum/#!topic/php-fig/e9qZue8nZXM
[18] PHP-FIG 3.0: https://medium.com/@michaelcullumuk/fig-3-0-91dbfd21c93b#.rmshx47vc
[19] PSR-13: Link definition interfaces — принят: http://www.php-fig.org/psr/psr-13/
[20] PSR-11 Container Interface — в ревью: https://github.com/container-interop/fig-standards/blob/master/proposed/container.md
[21] PSR-14 Event Manager — черновик: https://github.com/php-fig/fig-standards/blob/master/proposed/event-manager.md
[22] PSR-15 HTTP Middlewares — черновик: https://github.com/php-fig/fig-standards/blob/master/proposed/http-middleware/middleware.md
[23] PSR-16: Simple Cache — черновик: https://github.com/php-fig/fig-standards/blob/master/proposed/simplecache.md
[24] PSR-17 HTTP Factories — черновик: https://github.com/php-fig/fig-standards/blob/master/proposed/http-factory/http-factory.md
[25] Asynchronous Interoperability: https://github.com/async-interop
[26] Container Interoperability: https://github.com/container-interop
[27] Configuration Interoperability: https://github.com/config-interop
[28] Framework Interoperability: https://github.com/framework-interop
[29] Event Bus Interoperability: https://github.com/php-eventbus-interop
[30] Yii 1.1.17: https://habrahabr.ru/post/275065/
[31] 2.0.7: https://habrahabr.ru/post/277201/
[32] 2.0.8: https://habrahabr.ru/post/282724/
[33] 2.0.9: https://habrahabr.ru/post/305432/
[34] 2.0.10: https://habrahabr.ru/post/313180/
[35] планируется версия 2.1: https://github.com/yiisoft/yii2/wiki/Plan-for-next-major-versions
[36] присоединился @dynasource: http://rmcreative.ru/blog/post/dynasource-prisoedinilsja-k-yii
[37] yiiframework.ru: https://yiiframework.ru
[38] награду Tagline: http://yiiframework.ru/news/122/yii-polucil-nagradu-tagline-kak-lucsij-backend-frejmvork
[39] Yii 2 Application Development Cookbook: https://www.packtpub.com/web-development/yii2-application-development-cookbook-third-edition
[40] конференция в Киеве: http://rmcreative.ru/blog/post/yii-2-conference-2016--otchjot-i-materialy
[41] первый Хакатон по Yii: https://habrahabr.ru/post/304092/
[42] Symfony 2 исполнилось 5 лет: http://symfony.com/blog/symfony-2-0
[43] Symfony 3.1.0: http://symfony.com/blog/symfony-3-1-0-released
[44] Symfony 3.2.0: http://symfony.com/blog/symfony-3-2-0-released
[45] более 500 миллионов раз: http://symfony.com/blog/symfony-reaches-500-million-downloads
[46] исполнилось 5 лет: https://laravel-news.com/laravel-turns-five
[47] Laravel 5.3: https://habrahabr.ru/post/308380/
[48] план выхода ближайших версий: https://laravel-news.com/laravel-release-process
[49] Forge: https://forge.laravel.com/
[50] Spark: https://spark.laravel.com/
[51] Envoyer: https://envoyer.io/
[52] Zend Framework 3: https://framework.zend.com/blog/2016-06-28-zend-framework-3.html
[53] был переименован: https://framework.zend.com/blog/2016-05-03-zf-repo-rename.html
[54] книга: https://olegkrivtsov.github.io/using-zend-framework-3-book/html/
[55] Zend Framework 1: https://framework.zend.com/blog/2016-06-28-zf1-eol.html
[56] Zend Expressive: https://framework.zend.com/blog/2016-01-28-expressive-1.0-stable.html
[57] Composer 1.0.0: https://seld.be/notes/composer-goes-gold
[58] Phalcon 3.0.0: https://blog.phalconphp.com/post/phalcon-3-0-0-released
[59] Go! AOP Framework 1.0.0: https://github.com/goaop/framework/releases/tag/1.0.0
[60] 2.0.0: https://github.com/goaop/framework/releases/tag/2.0.0
[61] Энди Гутманс покинул Zend: https://andigutmans.com/2016/02/24/starting-a-new-journey/
[62] 15 лет проекту Drupal: https://www.drupal.org/news/drupal-15-years-old-and-still-gaining-momentum
[63] Приватный Packagist: https://medium.com/packagist/introducing-private-packagist-492553d10660#.l26apu3br
[64] packagist.com: https://packagist.com/
[65] Satis: https://github.com/composer/satis
[66] Toran Proxy: https://toranproxy.com/
[67] Phalcon 3.0.3: https://blog.phalconphp.com/post/phalcon-3-0-3-released-and-merry-christmas
[68] RFC: Class-like Primitive Types: https://wiki.php.net/rfc/class-like_primitive_types
[69] RFC: Server-Side Request and Response Objects: https://wiki.php.net/rfc/request_response
[70] request: https://pecl.php.net/package/request
[71] RFC: Debugging PDO Prepared Statement Emulation v2: https://wiki.php.net/rfc/debugging_pdo_prepared_statement_emulation_v2
[72] pbudzon/dhcp-php: https://github.com/pbudzon/dhcp-php
[73] Пост: https://mysteriouscode.io/blog/dhcp-implementation-in-php/
[74] видео демо: https://vimeo.com/195208678
[75] clue/php-commander: https://github.com/clue/php-commander
[76] PHP API Clients: https://blog.wyrihaximus.net/2016/12/announcing-php-api-clients/
[77] naneau/php-obfuscator: https://github.com/naneau/php-obfuscator
[78] frickelbruder/kickoff: https://github.com/frickelbruder/kickoff
[79] mgp25/Instagram-API: https://github.com/mgp25/Instagram-API
[80] Symfony: миф о раздутом фреймворке: http://matmati.net/symfony-myth-bloated-framework/
[81] Неделя Symfony #520 (12-18 декабря 2016): http://symfony.com/blog/a-week-of-symfony-520-12-18-december-2016
[82] Неделя Symfony #521 (19-25 декабря 2016): http://symfony.com/blog/a-week-of-symfony-521-19-25-december-2016
[83] Symfony — комбинируем GridFS файлы с ORM сущностями: https://habrahabr.ru/post/314966/
[84] Разработка на Yii 2: Роутинг и создание URL: https://code.tutsplus.com/tutorials/programming-with-yii2-routing-and-url-creation--cms-26869
[85] tuyakhov/yii2-json-api: https://github.com/tuyakhov/yii2-json-api
[86] Yii2 RESTful API-интерфейс для AngularJS: https://habrahabr.ru/post/318242/
[87] Yii2-advanced: Делаем интернационализацию с источником в Redis: https://habrahabr.ru/post/318102/
[88] Виджет мультиязычности в YII2 без использования базы данных: https://habrahabr.ru/post/317828/
[89] Пример создания практичной Debug панели в Yii: https://habrahabr.ru/post/317562/
[90] Масштабируем Laravel с помощью AWS Elastic Beanstalk: https://deliciousbrains.com/scaling-laravel-using-aws-elastic-beanstalk-part-2-setting-up-vpc-rds-elasticache/
[91] Создание веб-приложения на PHP с иcпользованием Firebird и Laravel: https://habrahabr.ru/post/317458/
[92] Полиморфные связи в Eloquent: https://www.sitepoint.com/what-are-polymorphic-relations-and-how-do-we-use-them-with-eloquent/
[93] Пример реализации логин-ссылки без пароля на Laravel: https://www.sitepoint.com/lets-kill-the-password-magic-login-links-to-the-rescue/
[94] Оптимизация производительности PHP благодаря использованию полного обозначения функций: http://veewee.github.io/blog/optimizing-php-performance-by-fq-function-calls/
[95] roave/functionfqnreplacer: https://github.com/roave/functionfqnreplacer
[96] pds/skeleton: https://github.com/php-pds/skeleton
[97] Предотвратить запуск PHP-скрипта несколько раз одновременно: https://www.exakat.io/prevent-multiple-php-scripts-at-the-same-time/
[98] Наследование vs композиция и принцип открытости/закрытости SOLID: http://patrick.louys.ch/2016/12/11/open-closed-principle/
[99] Улучшаем тесты: ожидание vs реализация: http://codeception.com/12-21-2016/writing-better-tests-expectation-vs-implementation.html
[100] Семантическая подсветка переменных в PhpStorm 2016.3: https://blog.jetbrains.com/phpstorm/2016/12/semantic-variable-colours-new-in-phpstorm-2016-3/
[101] Оптимизация рекурсивных алгоритмов с помощью trampoline: http://brylkowski.com/php-cant-jump-thing-about-recursion/
[102] Все, что вы знаете о шифровании с открытым ключом в PHP — неверно: https://paragonie.com/blog/2016/12/everything-you-know-about-public-key-encryption-in-php-is-wrong
[103] Об уязвимостях (в том числе PHP) в мультимедиа модулях самолетов: http://blog.ioactive.com/2016/12/in-flight-hacking-system.html
[104] PHP модуль на C++: http://blog.knock-it.ru/post/cpp-php-extension/
[105] Как не нужно использовать паттерн Repository: https://habrahabr.ru/post/316836/
[106] Alameda, Bower и NPM интеграция в CleverStyle Framework: https://habrahabr.ru/post/317894/
[107] Масштабирование ClickHouse, управление миграциями и отправка запросов из PHP в кластер: https://habrahabr.ru/company/smi2/blog/317682/
[108] Как мы уже 4 года выживаем в условиях двух релизов в день: https://habrahabr.ru/company/badoo/blog/317700/
[109] Улучшение производительности PHP 7: https://habrahabr.ru/company/mailru/blog/318008/
[110] PHP подкаст #13: http://podcast.ostretsov.ru/2016/12/19/php-podcast-13/
[111] Видеообзор PHP 7.1: https://nomadphp.com/php-7-1-10-minutes/
[112] PHP Roundtable Podcast #057: Все о компании Zend: https://www.phproundtable.com/episode/all-things-zend-framework-apigility-certification
[113] Abusing PHP 7’s OPcache to Spawn Webshells: https://www.youtube.com/watch?v=yLpsIWh7rvU
[114] Спроси backend-разработчиков Badoo. Часть 1. Платформа: https://habrahabr.ru/company/badoo/blog/317442/
[115] личку: https://habrahabr.ru/conversations/pronskiy/
[116] почту: mailto:roman@pronskiy.com
[117] твиттер: https://twitter.com/pronskiy
[118] Прислать ссылку: https://bit.ly/php-digest-add-link
[119] Быстрый поиск по всем дайджестам: https://pronskiy.com/php-digest/
[120] Предыдущий выпуск: PHP-Дайджест № 98: https://habrahabr.ru/company/zfort/blog/317366/
[121] Источник: https://habrahabr.ru/post/318410/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.