- PVSM.RU - https://www.pvsm.ru -
Свежая подборка со ссылками на новости и материалы. В выпуске: Что будет с поддержкой PHP на Windows, PHP 8 Alpha 2, ReactPHP — официально продакшн-реди, 2 новых RFC предложения и 6 на голосовании, порция полезных инструментов, статьи, видео и подкасты.
Приятного чтения!
Позже он уточнил [7], что Microsoft предоставляла билд-инфраструктуру для сообщества PHP, а после ежегодного пересмотра бюджетов решили, что не будут этого делать. И хотя они больше не будут заниматься билдами PHP для Windows, тем не менее, останутся вовлечены в PHP, продолжат поддерживать PHP-разработчиков и сотрудничество с сообществом по секьюрити-фиксам.
Это подтвердил Joe Watkins [8], который вместе с Никитой и настраивал все пайпланы в Azure [9]:
К вопросу о синтаксисе [15] или почему =>
, а не :
— принятый синтаксис привычен для match-выражений и используется в других языках, например, в точности такой же в C#, Rust, Scala, а похожий (->) в Java и Kotlin.
debug_backtrace()
возвращает стек вызовов в виде массива массивов. Предлагается возвращать массив объектов StackFrame [17], который реализует ArrayAccess [17].Целая пачка предложений находится на стадии голосования и, похоже, все пройдут:
Те, кто против опасаются проблем с обратной совместимостью и раздутыми API.
В поддержку предложения отличный пост зачем нужны именованные аргументы в PHP [20]. А также подробный ответ Никиты в Internals [21].
И пример использования вместе с объявлением свойств в конструкторе:
В PHP 8 с именованными аргументами:
Falsifiable
с магическим методом __toBool()
, который позволит объектам определять и объявлять себя истинными или ложными и соответственно использоваться как bool
во всех подходящих контекстах.
В тему интересная мысль о том, что интерфейсы с суффиксами -able — плохая идея:
Enum
в PHP 8.1. А Larry Garfield уже подготовил подробное исследование [35] и сравнил перечисления и подобные им типы в разных языках.Все основные компоненты экосистемы ReacPHP теперь официально продакшн-реди [60] и имеют долгосрочную поддержку не менее 2х лет.
Плагины оформлены в виде опенсорс-проектов на GitHub JetBrains/phpstorm-psalm-plugin [62] и JetBrains/phpstorm-phpstan-plugin [63]. Можно наблюдать [64] и участвовать в процессе, или использовать в качестве источника вдохновения для своих плагинов.
Если вы заметили ошибку или неточность — сообщите, пожалуйста, в личку [89].
Вопросы и предложения пишите на почту [90] или в твиттер [91].
Больше новостей и комментариев в Telegram-канале PHP Digest [92].
Прислать ссылку [93]
Поиск ссылок по всем дайджестам [94]
← Предыдущий выпуск: PHP-Дайджест № 183 [95]
Автор: Роман Пронский
Источник [96]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/355188
Ссылки в тексте:
[1] PHP 8.0.0 Alpha 2: https://www.php.net/archive/2020.php#2020-07-09-1
[2] PHP 7.4.8: https://www.php.net/releases/7_4_8.php
[3] PHP 7.3.20: https://www.php.net/releases/7_3_20.php
[4] PHP 7.2.32: https://www.php.net/releases/7_2_32.php
[5] PHP Russia 2020, 29 ноября, Москва: https://phprussia.ru/moscow/2020
[6] написал: https://externals.io/message/110907
[7] уточнил: https://externals.io/message/110985#110988
[8] Joe Watkins: https://twitter.com/krakjoe
[9] пайпланы в Azure: https://dev.azure.com/phpazuredevops/PHP/_build?definitionId=1
[10] July 15, 2020: https://twitter.com/krakjoe/status/1283267020688105473?ref_src=twsrc%5Etfw
[11] [RFC] Match expression v2: https://wiki.php.net/rfc/match_expression_v2
[12] match или switch: https://stitcher.io/blog/php-8-match-or-switch
[13] о выражении match: https://php.watch/versions/8.0/match-expression
[14] сравнительной таблицей: https://php.watch/versions/8.0/match-expression#vs-switch
[15] синтаксисе: https://gist.github.com/iluuu1994/11ac292cf7daca8162798d08db219cd5
[16] [RFC] StackFrame class: https://wiki.php.net/rfc/stack-frame-class
[17] StackFrame: https://wiki.php.net/rfc/stack-frame-class#stackframe_class
[18] [RFC] Rename T_PAAMAYIM_NEKUDOTAYIM to T_DOUBLE_COLON: https://wiki.php.net/rfc/rename-double-colon-token
[19] [RFC] Named Arguments: https://wiki.php.net/rfc/named_params
[20] зачем нужны именованные аргументы в PHP: https://stitcher.io/blog/why-we-need-named-params-in-php
[21] ответ Никиты в Internals: https://externals.io/message/110004#110018
[22] [RFC] Treat namespaced names as single token: https://wiki.php.net/rfc/namespaced_names_as_token
[23] [RFC] Saner numeric strings: https://wiki.php.net/rfc/saner-numeric-strings
[24] [RFC] Saner string to number comparisons: https://wiki.php.net/rfc/string_to_number_comparison
[25] [RFC] Nullsafe operator: https://wiki.php.net/rfc/nullsafe_operator
[26] [RFC] Allow trailing comma in closure use lists: https://wiki.php.net/rfc/trailing_comma_in_closure_use_list
[27] [RFC] Deprecations for PHP 8.1: https://wiki.php.net/rfc/deprecations_php_8_0
[28] посоветовал: https://externals.io/message/110383#110384
[29] [RFC] Objects can be declared falsifiable: https://wiki.php.net/rfc/objects-can-be-falsifiable
[30] November 20, 2019: https://twitter.com/nikolaposa/status/1197162495309418496?ref_src=twsrc%5Etfw
[31] FFI Improvements: https://github.com/SerafimArts/php-rfcs/blob/ffi-improvements/rfcs/0000-ffi-improvements.md
[32] SerafimArts: https://habr.com/ru/users/serafimarts/
[33] В PHP 8.1 планируется Enum: https://twitter.com/IlijaTovilo/status/1282986556953972737
[34] Ilija Tovilo: https://twitter.com/IlijaTovilo
[35] подробное исследование: https://github.com/Crell/enum-comparison
[36] JBZoo/Composer-Diff: https://github.com/JBZoo/Composer-Diff
[37] smetdenis: https://habr.com/ru/users/smetdenis/
[38] JBZoo/Composer-Graph: https://github.com/JBZoo/Composer-Graph
[39] ergebnis/factory-bot: https://github.com/ergebnis/factory-bot
[40] посте: https://localheinz.com/blog/2020/07/16/creating-doctrine-entities-populated-with-fake-data/
[41] phpsandbox.io: https://phpsandbox.io/
[42] Управление секретами в Symfony: https://habr.com/ru/company/otus/blog/510764/
[43] REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1: https://habr.com/ru/company/otus/blog/509842/
[44] 10 преимуществ конфигов на PHP вместо YAML: https://tomasvotruba.com/blog/2020/07/16/10-cool-features-you-get-after-switching-from-yaml-to-php-configs/
[45] Неделя Symfony #707 (13-19 July 2020): https://symfony.com/blog/a-week-of-symfony-707-13-19-july-2020
[46] spatie/laravel-schedule-monitor: https://github.com/spatie/laravel-schedule-monitor
[47] пост: https://freek.dev/1711-introducing-laravel-schedule-monitor
[48] Использование подписанных Laravel URL-адресов для добавления ссылок на действия в сообщениях электронной почты: https://freek.dev/1713-using-laravels-signed-urls-to-add-action-links-to-emails
[49] Туториал по возможностям IlluminateHttpRequest.: https://laravel-news.com/the-mighty-illuminate-request
[50] Laravel-Дайджест (13–19 июля 2020): https://habr.com/ru/post/511624/
[51] Запускаем Laravel на AWS Lambda с помощью Bref: https://www.youtube.com/watch?v=BgGnKqDZSkA
[52] brefphp/laravel-bridge: https://github.com/brefphp/laravel-bridge
[53] Laravel Worldwide Meetup #1: https://www.youtube.com/watch?v=ajDwUNfKu48
[54] Ленивые коллекции в Laravel: https://www.youtube.com/watch?v=ajDwUNfKu48&t=300s
[55] Мощь очередей Laravel: https://www.youtube.com/watch?v=ajDwUNfKu48&t=2502s
[56] Новости Yii 2020, выпуск 5: https://habr.com/ru/post/510202/
[57] tbreuss/yii2-inertia: https://github.com/tbreuss/yii2-inertia
[58] Inertia.js: https://inertiajs.com/
[59] reactphp/http 1.0: https://github.com/reactphp/http/releases/tag/v1.0.0
[60] официально продакшн-реди: https://clue.engineering/2020/announcing-reactphp-http#stable-lts
[61] В PhpStorm будет поддержка Psalm и PHPStan: https://blog.jetbrains.com/phpstorm/2020/07/phpstan-and-psalm-support-coming-to-phpstorm/
[62] JetBrains/phpstorm-psalm-plugin: https://github.com/JetBrains/phpstorm-psalm-plugin
[63] JetBrains/phpstorm-phpstan-plugin: https://github.com/JetBrains/phpstorm-phpstan-plugin
[64] наблюдать: https://github.com/JetBrains/phpstorm-psalm-plugin/issues
[65] Общие (расшаренные) индексы в IDE от JetBrains: https://blog.jetbrains.com/idea/2020/07/shared-indexes-plugin-unveiled/
[66] плагина: https://plugins.jetbrains.com/plugin/14437-shared-indexes?_ga=2.37253088.1387215744.1595074737-1768659634.1551257028
[67] PhpStorm, But Better — Tips & Tricks Newsletter: https://phpstormbutbetter.com/
[68] первый выпуск: https://ntsanov.com/blog/phpstorm-but-better-getting-rid-of-the-distractions
[69] Новое видео от Christoph Rumpel: https://www.youtube.com/watch?v=HB2T0iWiW50
[70] PhpStorm 2020.2 Beta: https://blog.jetbrains.com/phpstorm/2020/07/phpstorm-2020-2-beta/
[71] What’s Coming in PhpStorm 2020.2: https://www.youtube.com/watch?v=vzXaqrMUvSg&list=PLQ176FUIyIUbt2HcFgl-IThchiMeUusJv
[72] Serverless LAMP: заменяем веб-сервер: https://aws.amazon.com/blogs/compute/the-serverless-lamp-stack-part-3-replacing-the-web-server/
[73] GitHub Actions как CI и PHP проектов: https://www.phparch.com/2020/07/the-workshop-github-actions-for-continuous-integration/
[74] Inertia.js – современный монолит: https://habr.com/ru/post/511470/
[75] readable — еще один линтер для PHP: https://habr.com/ru/post/510344/
[76] Как я писал кодогенератор на PHP и что из этого получилось: https://habr.com/ru/post/511544/
[77] POST запрос, составное содержимое (multipart/form-data): https://habr.com/ru/post/511114/
[78] Открытое собеседование PHP Point #1: https://www.youtube.com/watch?v=FQNd9W3nb3A
[79] Подкаст Между скобок № 10:: https://soundcloud.com/between-braces/10-vladimir-yants-nuzhno-li-unit-testirovanie
[80] Никита Попов — What’s new in PHP 8.0?: https://www.youtube.com/watch?v=NbBRXwu1Md8
[81] Интервью с Jordi Boggiano: https://www.youtube.com/watch?v=yeWnFyfTXOQ
[82] Макс Рафалко — Принципы проектирования пакетов на практике: https://www.youtube.com/watch?v=JKt7hF_nxBM
[83] Derick Rethans — Introduction to PHP Extensions: https://www.youtube.com/watch?v=WMOI2U8McTE
[84] Интервью с Marco Pivetta: https://www.twitch.tv/videos/640893205
[85] PHP Internals News #61: https://phpinternals.news/61
[86] стабильной сортировке: https://wiki.php.net/rfc/stable_sorting
[87] PHP Internals News #62: https://phpinternals.news/62
[88] George Peter Banyard: https://twitter.com/Girgias
[89] личку: https://habrahabr.ru/conversations/pronskiy/
[90] почту: mailto:roman@pronskiy.com
[91] твиттер: https://twitter.com/pronskiy
[92] PHP Digest: https://t.me/phpdigest
[93] Прислать ссылку: https://bit.ly/php-digest-add-link
[94] Поиск ссылок по всем дайджестам: https://pronskiy.com/php-digest/
[95] Предыдущий выпуск: PHP-Дайджест № 183: https://habr.com/ru/post/509738/
[96] Источник: https://habr.com/ru/post/511686/?utm_source=habrahabr&utm_medium=rss&utm_campaign=511686
Нажмите здесь для печати.