- PVSM.RU - https://www.pvsm.ru -
По традиции подведем итоги уходящего года и вспомним самые значимые события в мире PHP. И конечно, ссылки на свежие новости, полезные инструменты и интересные материалы за последние две недели.
Под катом вас также ждет розыгрыш [1] лицензий на PhpStorm [2] от JetBrains [3].
Приятного чтения и с наступающим Новым годом!
Одним из главных событий уходящего года, конечно же, является мажорный релиз интерпретатора PHP 7.3.0 [4]. Вот уже седьмой год подряд команда доставляет свежую версию без задержек.
Был выпущен последний релиз [5] ветки PHP 5.6, и хотелось бы сказать, что ушла эпоха PHP 5, но значительная часть [6] сайтов все еще использует PHP <= 5.6.
Один из основателей компании Zend Зеев Сураски поделился планами на PHP 8 [7], среди которых были обозначены JIT, асинхронные возможности, FFI, и предзагрузка. Предзагрузка [8] уже реализована и будет в следующей версии, а вот FFI [9] хоть и реализована, но пока находится в голосовании и может быть отложена. И конечно, хочется вспомнить принятый RFC по типизированным свойствам [10]!
В октябре, однако, Зеев объявил [11] о том, что он сам и команда Zend в лице Дмитрия Стогова, Enrico Zimuel и Matthew Weier O'Phinney в скором времени покинут Rogue Wave (владеет Zend). Будем ждать новостей о дальнейшей судьбе команды в следующем году.
За 2018 год группой принято несколько стандартов:
• PSR-15 [12]: HTTP Server Request Handlers
• PSR-17 [13]: HTTP Factories
• PSR-18 [14]: HTTP Client
А также ряд стандартов находятся в разработке:
• PSR-5 [15]: PHPDoc
• PSR-12 [16]: Extended Coding Style Guide
• PSR-14 [17]: Event Dispatcher
Нельзя не вспомнить и об уходе Symfony из PHP-FIG [18].
Выпущено два мажорных релиза Symfony 4.1 [19] и Symfony 4.2 [20]. Прекращена [21] поддержка микрофреймворка Silex, потому что Symfony 4 может быть использован как микрофреймворк. И свежая новость о создании независимой коммерческой компании Symfony [22], которая будет заниматься разработкой и поддержкой фреймворка, а также работать над платными продуктами вокруг него, например, Symfony Cloud [23].
Как и Symfony, фреймворк Laravel в 2018 году отметился двумя мажорными релизами Laravel 5.7 [24] и Laravel 5.6 [25]. И релизами пары новых инструментов от core-команды Telescope [26] и Nova [27]. Кстати, к команде присоединился [28] еще один фултайм разработчик Dries Vints.
Кроме Yii 1.1.20 [29] и Yii 2.0.14 [30], 2.0.15 [31], свет увидел Yii 3.0.0 alpha 1 [32] Несмотря на сообщение Павла Климова о том, что Yii умирает [33], работа над третьей версией фреймворка активизировалась. К core-команде присоединился [34] новый участник Андрей Васильев [35], доступен обзор изменений в Yii 3.0 [36] и документ с планами [37].
В мире асинхронного PHP было много интересного в уходящем году. Вышел ReactPHP 1.0.0 LTS [38], а также PHP-PM 1.0 [39]. Опубликованы книги «ReactPHP для начинающих» [40] и «Изучаем Асинхронный PHP с ReactPHP» [41]. Также активно развивается Amphp [42] и инструменты на его базе.
Опубликовано предложение [RFC] Fiber [43], а также расширение ext-async [44].
Отдельно хочется отметить Swoole [45], который из китайской поделки вырос в мощный инструмент и имеет интеграции для всех популярных фреймворков.
А что еще интересного произошло в уходящем году?
sleep
или работу с файловой системой, на асинхронные.
В комментариях к этому посту или в ретвите вот этого твита [91] ответьте на вопрос:
Какая у вас самая любимая фича PhpStorm?
Разыгрывается 3 годовых лицензии на PhpStorm! Два победителя будут выбраны случайно из числа тех, кто написал комментарий или ретвитнул с комментарием. И одну лицензию получит автор самого интересного/неочевидного на мой взгляд комментария.
Победители будут объявлены 27 декабря в 21:00 MSK.
Так какая же фича самая любимая у вас?
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку [92].
Вопросы и предложения пишите на почту [93] или в твиттер [94].
Больше новостей и комментариев в телеграм-канале PHP Digest [95].
Прислать ссылку [96]
Поиск ссылок по всем дайджестам [97]
← Предыдущий выпуск: PHP-Дайджест № 145 [98]
Автор: Роман Пронский
Источник [99]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/303150
Ссылки в тексте:
[1] розыгрыш: https://habr.com/post/434128/#phpstorm
[2] PhpStorm: https://www.jetbrains.com/phpstorm/
[3] JetBrains: https://www.jetbrains.com/
[4] PHP 7.3.0: http://php.net/releases/7_3_0.php
[5] последний релиз: http://php.net/archive/2018.php#id2018-12-06-2
[6] значительная часть: https://w3techs.com/technologies/details/pl-php/5/all
[7] планами на PHP 8: https://habr.com/company/badoo/blog/415359/
[8] Предзагрузка: https://wiki.php.net/rfc/preload
[9] FFI: https://wiki.php.net/rfc/ffi
[10] RFC по типизированным свойствам: https://wiki.php.net/rfc/typed_properties_v2
[11] объявил: https://habr.com/post/426809/
[12] PSR-15: https://www.php-fig.org/psr/psr-15/
[13] PSR-17: https://www.php-fig.org/psr/psr-17/
[14] PSR-18: https://www.php-fig.org/psr/psr-18/
[15] PSR-5: https://github.com/php-fig/fig-standards/blob/master/proposed/phpdoc.md
[16] PSR-12: https://github.com/php-fig/fig-standards/blob/master/proposed/extended-coding-style-guide.md
[17] PSR-14: https://github.com/php-fig/fig-standards/blob/master/proposed/event-dispatcher.md
[18] уходе Symfony из PHP-FIG: https://www.php-fig.org/personnel/#former-member-projects
[19] Symfony 4.1: https://symfony.com/blog/symfony-4-1-0-released
[20] Symfony 4.2: https://symfony.com/blog/symfony-4-2-0-released
[21] Прекращена: https://symfony.com/blog/the-end-of-silex
[22] о создании независимой коммерческой компании Symfony: https://symfony.com/blog/a-business-model-for-symfony
[23] Symfony Cloud: https://symfony.com/cloud/
[24] Laravel 5.7: https://laravel.com/docs/5.7/releases#laravel-5.7
[25] Laravel 5.6: https://laravel.com/docs/5.6/releases#laravel-5.6
[26] Telescope: https://github.com/laravel/telescope
[27] Nova: https://nova.laravel.com/
[28] присоединился: https://medium.com/@taylorotwell/laravels-new-team-member-dries-vints-973edc98ecbe
[29] Yii 1.1.20: https://www.yiiframework.com/news/178/yii-1-1-20-is-released
[30] Yii 2.0.14: https://habr.com/post/349408/
[31] 2.0.15: https://habr.com/post/351652/
[32] Yii 3.0.0 alpha 1: https://github.com/yiisoft/yii2/releases/tag/3.0.0-alpha1
[33] Yii умирает: http://haru-atari.com/ru/blog/29/is-yii-dying
[34] присоединился: https://www.yiiframework.com/news/179/new-member-joining-yii-team-as-primary-yii-3-0-developer
[35] Андрей Васильев: https://github.com/hiqsol
[36] обзор изменений в Yii 3.0: https://github.com/yiisoft/yii-core/blob/master/UPGRADE.md
[37] документ с планами: https://github.com/yiisoft/yii-core/blob/master/ROADMAP.md
[38] ReactPHP 1.0.0 LTS: https://www.lueck.tv/2018/announcing-reactphp-lts
[39] PHP-PM 1.0: https://github.com/php-pm/php-pm/releases/tag/1.0.0
[40] «ReactPHP для начинающих»: https://leanpub.com/reactphp-for-beginners-ru
[41] «Изучаем Асинхронный PHP с ReactPHP»: https://leanpub.com/event-driven-php-ru
[42] Amphp: https://github.com/amphp
[43] [RFC] Fiber: https://wiki.php.net/rfc/fiber
[44] ext-async: https://github.com/concurrent-php/ext-async
[45] Swoole: https://github.com/swoole/swoole-src
[46] HHVM 3.30: https://hhvm.com/blog/2018/12/17/hhvm-3.30.html
[47] Nextcloud 15: https://github.com/nextcloud/server
[48] Релиз: https://nextcloud.com/blog/nextcloud-15-goes-social-enforces-2fa-and-gives-you-a-new-generation-real-time-document-editing/
[49] sebastianbergmann/foal: https://github.com/sebastianbergmann/foal/
[50] пост: https://derickrethans.nl/breakpoints.html
[51] jordanbrauer/unit-converter: https://github.com/jordanbrauer/unit-converter
[52] danog/MadelineProto: https://github.com/danog/MadelineProto
[53] Хабрапост: https://habr.com/post/433268/
[54] PHP_CodeSniffer 3.4.0: https://github.com/squizlabs/PHP_CodeSniffer/releases/tag/3.4.0
[55] paragonie/corner: https://github.com/paragonie/corner
[56] mmasiukevich/service-bus: https://github.com/mmasiukevich/service-bus/
[57] Неделя Symfony #624 (10-16 декабря 2018): https://symfony.com/blog/a-week-of-symfony-624-10-16-december-2018
[58] Неделя Symfony #625 (17-23 декабря 2018): https://symfony.com/blog/a-week-of-symfony-625-17-23-december-2018
[59] cebe/yii2-lifecycle-behavior: https://github.com/cebe/yii2-lifecycle-behavior
[60] Understanding Yii 3 (draft): https://www.yiiframework.com/wiki/2547/draft-understanding-yii-3
[61] Пример пайплана для Laravel приложения на Gitlab CI: https://ohdear.app/blog/our-gitlab-ci-pipeline-for-laravel-applications
[62] beyondcode/dusk-dashboard: https://github.com/beyondcode/dusk-dashboard
[63] Laravel Dusk: https://laravel.com/docs/master/dusk
[64] пост: http://marcelpociot.de/blog/introducing-the-laravel-dusk-dashboard
[65] Laravel Core Adventures: https://laravelcoreadventures.com/
[66] clue/reactphp-ssh-proxy: https://github.com/clue/reactphp-ssh-proxy
[67] Пост: https://www.lueck.tv/2018/introducing-reactphp-ssh-proxy
[68] Быстрый веб-скрапинг на ReactPHP #2: сохраняем в MySQL: https://www.youtube.com/watch?v=rSexLp-subY
[69] О корутинах в PHP Swoole: https://www.swoole.co.uk/article/swoole-coroutine
[70] Гайд по оптимизации скорости магазинов на Magento 2: https://onilab.com/blog/magento-2-performance-speed-optimization-guide/
[71] @onilab_rescue: https://twitter.com/onilab_rescue
[72] Magento Tech Digest #40: Dec 10 – 17, 2018: https://www.maxpronko.com/magento-tech-digest-40-dec-10-17-2018/
[73] План релиза Drupal 9: https://www.drupal.org/blog/plan-for-drupal-9
[74] WP-CLI v2.1.0: https://make.wordpress.org/cli/2018/12/18/wp-cli-v2-1-0-release-notes/
[75] Разработка SPA (Single Page Application) на WordPress: https://www.youtube.com/watch?v=ojo5BpkbP2A
[76] ollyxar/php-malware-detector: https://github.com/ollyxar/php-malware-detector
[77] набора регулярок: https://github.com/ollyxar/php-malware-detector/blob/30f409ad60c25f5e66db91e17cc6389dce3d3eef/src/Patterns.php#L21-L35
[78] В WordPress 5.0.1 устранена уязвимость: http://www.opennet.ru/opennews/art.shtml?num=49781
[79] Автоматический поиск уязвимых функций не запрещенных через disable_functions: https://x-c3ll.github.io//posts/find-bypass-disable_functions/
[80] Критические уязвимости в phpMyAdmin: https://www.phpmyadmin.net/news/2018/12/11/security-fix-phpmyadmin-484-released/
[81] guardrailsio/awesome-php-security: https://github.com/guardrailsio/awesome-php-security
[82] Рекомендации по именованию от Александа Макарова: https://en.rmcreative.ru/blog/naming-things/
[83] кастомного рантайма PHP для AWS Lambda: https://aws.amazon.com/blogs/apn/aws-lambda-custom-runtime-for-php-a-practical-example/
[84] Миф о недостатках статических методов и свойств: https://medium.com/helium-mvc/debunking-the-myth-of-static-classes-methods-and-variables-8059472a1bc7
[85] О миграции с Docblock типов на тайпхинты PHP: https://www.tomasvotruba.cz/blog/2018/12/10/rocket-science-behind-migration-of-docblock-types-to-php-typehints/
[86] 9 трюков PhpStorm от Кирилла Смелова в гифках: https://www.tomasvotruba.cz/blog/2018/12/13/kirill-smelov-s-phpstorm-tips-in-9-gifs/
[87] Бенчмарки PHP 5.6, 7.0, 7.1, 7.2 и 7.3: https://kinsta.com/blog/php-benchmarks/
[88] Что нового в PHP 7.3: https://www.youtube.com/watch?v=-GBi7tSqGDE
[89] lex111: https://habr.com/users/lex111/
[90] Введение в PHP Reflection API: https://habr.com/post/433266/
[91] этого твита: https://twitter.com/pronskiy/status/1077026362697879552
[92] личку: https://habrahabr.ru/conversations/pronskiy/
[93] почту: mailto:roman@pronskiy.com
[94] твиттер: https://twitter.com/pronskiy
[95] PHP Digest: https://t.me/phpdigest
[96] Прислать ссылку: https://bit.ly/php-digest-add-link
[97] Поиск ссылок по всем дайджестам: https://pronskiy.com/php-digest/
[98] Предыдущий выпуск: PHP-Дайджест № 145: https://habr.com/post/432600/
[99] Источник: https://habr.com/post/434128/?utm_source=habrahabr&utm_medium=rss&utm_campaign=434128
Нажмите здесь для печати.