- PVSM.RU - https://www.pvsm.ru -
Подборка свежих новостей, инструментов, видео и материалов из мира PHP.
Приятного чтения!
Этот дайджест подготовлен совместно с Insolita [1]. Если понравился выпуск, плюсаните пост, пожалуйста.
Это первый документ типа PER (PHP Evolving Recommendation) [3], то есть «живой» стандарт. Теперь не надо будет выпускать очередной PSR-стандарт каждый раз при добавлении нового синтаксиса в PHP. Вместо этого PER будет обновляться по SemVer [4].
Спасибо samdark [5].
Подводим итоги 2021 года в PHP-сообществе, живая трансляция на YouTube [7] 12 февраля 11:00 Мск/Минск, 10:00 Киев.
На стриме будут: Александр Макаров, Валентин Удальцов, Кирилл Несмеянов, Адель Файзрахманов, Дмитрий Елисеев.
libmysql
в mysqli
. Вряд ли это кто-то заметит, потому что по умолчанию используется mysqlnd
.
Фокус релиза — багфикс и производительность, но и без новых фич не обойдется. В первом билде обновления для метадаты .phpstorm.meta.php [10], улучшения для редактирования Markdown и другое.
Deque
— это двухсторонняя очередь, то есть элементы можно добавлять и удалять как в начало, так и в конец.
Использовать можно везде, где были SplQueue
или SplDoublyLinkedList
и с ходу получить выигрыш в производительности, и уменьшить расход памяти. Также Deque
актуален для долгоиграющих приложений, в которых используются большие массивы.
Есть демо на WebAssembly: PHP 8.2 Deque RFC Demo [12].
$deque = new CollectionsDeque(['first', 'second', 'third']);
foreach ($deque as $offset => $value) {
if ($value === 'second') {
$deque->shift();
} elseif ($value === 'third') {
$deque->push('fourth');
}
}
ext-soap
давно не поддерживается, поэтому вместо него стоит использовать имплементации на чистом PHP: php-soap/ext-soap-engine [21].Но из-за ошибки в указании версии в GitHub Advisory Database [26] многие проекты не могли обновиться [27].
Спасибо chrome [28].
dd()
.До этого они принесли libsodium
в ядро PHP, сделали Paseto [54] — более безопасную альтернативу JWT, и другие инструменты [55].
Подписывайтесь на Telegram-канал PHP Digest [63].
Этот дайджест подготовлен совместно с Insolita [1]. Если вам понравился выпуск, подпишитесь на Юлию в твиттере [1] и поставьте плюс в пост, пожалуйста.
Заметили ошибку или опечатку? Сообщите в личку хабра [64] или телеграм [65].
Прислать ссылку можно через форму [66] или просто напишите мне в телеграм [65].
Поиск ссылок по всем дайджестам [67]
← Предыдущий выпуск: PHP-Дайджест № 220 [68]
Автор: Роман Пронский
Источник [69]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/371907
Ссылки в тексте:
[1] Insolita: https://twitter.com/DonnaInsolita
[2] Coding style PER: https://github.com/php-fig/per-coding-style
[3] типа PER (PHP Evolving Recommendation): https://www.php-fig.org/bylaws/per-workflow/
[4] SemVer: https://semver.org/lang/ru/
[5] samdark: https://habr.com/ru/users/samdark/
[6] 2021 год в русскоговорящем PHP-сообществе: https://phpcommunity.ru/2021-php
[7] на YouTube: https://www.youtube.com/watch?v=Nx39a7n9KIQ
[8] [RFC] Remove support for libmysql from mysqli: https://wiki.php.net/rfc/mysqli_support_for_libmysql
[9] PhpStorm 2022.1 Early Access Program: https://blog.jetbrains.com/phpstorm/2022/01/phpstorm-2022-1-early-access-program-is-open/
[10] .phpstorm.meta.php: https://www.jetbrains.com/help/phpstorm/ide-advanced-metadata.html
[11] [RFC] final class CollectionsDeque: https://wiki.php.net/rfc/deque
[12] PHP 8.2 Deque RFC Demo: https://tysonandre.github.io/php-rfc-demo/deque/
[13] sj-i/php-profiler: https://github.com/sj-i/php-profiler
[14] IvanGrigorov/VMValidator: https://github.com/IvanGrigorov/VMValidator
[15] mrsuh/php-var-sizeof: https://github.com/mrsuh/php-var-sizeof
[16] по сравнению с memory_get_usage(): https://github.com/mrsuh/php-var-sizeof#var_sizeof-vs-memory_get_usage
[17] spiral/framework: https://github.com/spiral/framework/releases/tag/2.9.0
[18] Chetkov/php-clean-architecture: https://github.com/Chetkov/php-clean-architecture
[19] Hi-Folks/statistics: https://github.com/Hi-Folks/statistics
[20] php-soap: https://github.com/php-soap
[21] php-soap/ext-soap-engine: https://github.com/php-soap/ext-soap-engine
[22] williarin/wordpress-interop: https://github.com/williarin/wordpress-interop
[23] Phel: https://github.com/phel-lang/phel-lang
[24] tuqqu/go-parser: https://github.com/tuqqu/go-parser
[25] CSRF уязвимость: https://symfony.com/blog/cve-2022-23601-csrf-token-missing-in-forms
[26] в GitHub Advisory Database: https://github.com/advisories/GHSA-vvmr-8829-6whx
[27] не могли обновиться: https://github.com/Roave/SecurityAdvisories/issues/90
[28] chrome: https://habr.com/ru/users/chrome/
[29] Light Kernel для приложений на symfony/console: https://tomasvotruba.com/blog/introducing-light-kernel-for-symfony-console-apps/
[30] 4 способа правильного внедрения сервисов в Symfony: https://medium.com/@OCharnyshevich/4-ways-to-inject-dependencies-in-symfony-that-you-probably-dont-know-about-65e8efe02af5
[31] Efficient JSON Streaming with Symfony and Doctrine: https://github.com/alexander-schranz/efficient-json-streaming-with-symfony-doctrine#efficient-json-streaming-with-symfony-and-doctrine
[32] violet-php/streaming-json-encoder: https://github.com/violet-php/streaming-json-encoder
[33] nicoverbruggen/phpmon: https://github.com/nicoverbruggen/phpmon
[34] cerbero90/eloquent-inspector: https://github.com/cerbero90/eloquent-inspector
[35] glhd/laravel-dumper: https://github.com/glhd/laravel-dumper
[36] tonysm/importmap-laravel: https://github.com/tonysm/importmap-laravel
[37] Importmaps: https://github.com/WICG/import-maps
[38] Safer Staging Environments with Blackhole Storage: https://laravel-news.com/safer-staging-environments-with-blackhole-storage
[39] BLACKHOLE: https://dev.mysql.com/doc/refman/8.0/en/blackhole-storage-engine.html
[40] Testing Laravel Environment Checks: https://downing.tech/posts/testing-laravel-environments
[41] Руководство по обновлению до Laravel 9: https://laravel.demiart.ru/upgrade-guide-to-laravel-9/
[42] LaravelProTips.com: https://laravelprotips.com/
[43] Laravel Worldwide Meetup:: https://www.youtube.com/watch?v=7XTbHVlJdIs
[44] Termwind: https://github.com/nunomaduro/termwind
[45] Inertia: https://github.com/inertiajs
[46] Laravel Origins: The Documentary (Trailer): https://www.youtube.com/watch?v=mH7cgoX3K0g
[47] Тейлор отвечает на разные вопросы: https://www.youtube.com/watch?v=FfFCzj6Ts0o
[48] Долгий путь оптимизации памяти и быстродействия композера: https://medium.com/@yanick.witschi/the-long-journey-of-making-phps-composer-memory-efficient-and-fast-63d12944aaa8
[49] Организация деплоя с помощью Ansible и Github Actions: https://laravel-news.com/deploy-your-php-app-with-ansible-and-github-actions
[50] Ускоряем array_merge(): https://www.exakat.io/en/speeding-up-array_merge/
[51] Потоковый HTTP ответ на PHP: https://itsrav.dev/articles/streaming-http-response-in-php-to-turn-long-running-process-into-realtime-experience
[52] Решаем проблему Supply Chain атак для экосистемы PHP: https://paragonie.com/blog/2022/01/solving-open-source-supply-chain-security-for-php-ecosystem
[53] Gossamer: https://gossamer.tools/
[54] Paseto: https://github.com/paragonie/paseto
[55] другие инструменты: https://github.com/paragonie
[56] Я протестировал 4 различных сервиса сбора отчетов об ошибках для PHP: https://betterprogramming.pub/i-tested-4-different-error-reporting-services-with-for-php-1a5228018c67
[57] Статический анализ и уже выросший проект: внедрять нельзя откладывать: https://habr.com/ru/company/rusprofile/blog/649257/
[58] Эффективная работа с ошибками в PHP-продукте: https://youtu.be/gU7_CKeOyGE?t=553
[59] Поиск по нескольким словам в проекте: https://t.me/phpyh/280
[60] Mage-OS update January 2022: https://www.mage-os.community/blog/mage-os-update-january-2022
[61] PHP Russia 2022: https://cfp.phprussia.ru/
[62] темы на сайте: https://cfp.phprussia.ru/#topics
[63] PHP Digest: https://t.me/phpdigest
[64] личку хабра: https://habrahabr.ru/conversations/pronskiy/
[65] телеграм: https://t.me/pronskiy
[66] через форму: https://bit.ly/php-digest-add-link
[67] Поиск ссылок по всем дайджестам: https://pronskiy.com/php-digest/
[68] Предыдущий выпуск: PHP-Дайджест № 220: https://habr.com/ru/post/647491/
[69] Источник: https://habr.com/ru/post/650145/?utm_source=habrahabr&utm_medium=rss&utm_campaign=650145
Нажмите здесь для печати.