Pronskiy Digest
Open in Telegram
ΠΠΎΠΏΡΠΎΡΡ, Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ: @pronskiy
Show more7 855
Subscribers
-224 hours
-107 days
-32430 days
Posts Archive
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β Π‘Π΅Π½ΡΡΠ±ΡΡ 2024
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
πΉ ΠΠ΅ΡΠ²ΡΠ΅ Π±Π΅ΡΠ°-Π²Π΅ΡΡΠΈΠΈ PHP 8.4 Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
πΉ ΠΡΡΠ»ΠΈ PHP 8.2.23 ΠΈ PHP 8.3.11
π State of Generics and Collections
π ΠΡΡΠ΅Π» PhpStorm 2024.2
π Π―ΠΠ Π PHP
π£ RFC: Allow int type argument to BCMath function
π£ RFC: Improve language coherence for the behaviour of offsets and containers
π£ RFC: Function Autoloading v4
π£ RFC: Should PHP have a directive that makes the parser treat all namespaced function calls as global?
π£ RFC: Default expression
β
RFC: Lazy Objects
β
RFC: Property hook improvements
β
RFC: Add bcdivmod to BCMath
β
RFC: Asymmetric Visibility v2
β RFC: Static class
π΄ LARAVEL
π¬ Laravel Debugbar: ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°
π¬ ΠΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠ°Π±Π»ΠΈΡΠ΅ (Reorder): Π² Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»ΠΈ MoonShine
π¬ ΠΠΎΠΉ ΠΎΠΏΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ PEST Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° Laravel
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Laravel Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° centrifugo Π΄Π»Ρ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°Π½ΠΈΡ
πΉ Π‘ΠΈΠ³Π½Π°Π»Ρ Π² Artisan ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
πΉ ΠΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ Query Builders Π² Laravel
π ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Swagger UI Π² Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Laravel
β«οΈ SYMFONY
π ΠΠΎΠ²ΡΡΠ°Π΅ΠΌ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ Symfony DI
π Π‘Π’ΠΠ’Π¬Π
π PHP 8.4: ΠΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠΈΡΠ΅ΠΌ Ρ Π½ΡΠ»Ρ
π Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ PHP: ΠΈΡΠ»Ρ 2024 Π³ΠΎΠ΄Π°
π Golang ΡΠ±ΠΈΠ²Π°Π΅Ρ PHP
π PHP ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ
ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ
π Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π° PHP ΡΠΌΠ΅ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½ web-server
π Open-source. ΠΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ MoonShine Laravel
πΉ ΠΠΎΡΠ²ΡΡΠ°Π΅ΡΡΡ Π½ΠΈΠΊΠΎΠΌΡ
π Yaml β ΠΊΠΎΡΠΎΠ»Ρ ΠΌΠ΅ΡΠ°-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ
π ΠΡΠ»Π°Π΄ΠΊΠ° PHP ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π² Docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PhpStorm ΠΈ Xdebug. ΠΠ»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅
πΉ Π ΠΌΠΈΡΠ΅ PHP #2
π¬ ΠΠΠΠΠ
πΉ ΠΠ°ΡΡΠ΅Ρ-ΠΊΠ»Π°ΡΡ ΠΏΠΎ Temporal Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ KYC ΠΈ Email Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ
πΉ Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌ ΡΡΠ΅Π· Π·Π½Π°Π½ΠΈΠΉ 4-ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° Π₯Π°ΡΠ΄ΠΊΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΡΠ° PHP
πΉ ΠΠ°ΡΡΠ΅Ρ-ΠΊΠ»Π°ΡΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ° protobuf ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π½Π° PHP Ρ ΠΏΠΎΠΌΠΎΡΡΡ AI
πΉ Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° LLM-Π°Π³Π΅Π½ΡΠΎΠ² Π½Π° PHP: ΠΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
π
Π‘ΠΠΠ«Π’ΠΠ―
πΉ Podlodka PHP Crew, 30 ΡΠ΅Π½ΡΡΠ±ΡΡ β 4 ΠΎΠΊΡΡΠ±ΡΡ, 2024
πΉ PHP Russia 2024, 2-3 Π΄Π΅ΠΊΠ°Π±ΡΡ 2024
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΡΠ΅Π½ΡΡΠ±ΡΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
Repost from ΠΡΡ
Benchmarking Laravel with Swoole, FrankenPHP, RoadRunner, php-fpm, and ngx-php
https://youtu.be/ZB129Tjkas8
ΠΠΎΠ·Π°Π²ΡΠ΅ΡΠ° Π ΠΎΠΌΠ° ΠΡΠΎΠ½ΡΠΊΠΈΠΉ Π²ΡΠ»ΠΎΠΆΠΈΠ» Π½ΠΎΠ²ΡΠΉ ΡΠΎΠ»ΠΈΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ Π·Π°Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠ°Π» Π·Π°ΠΏΡΡΠΊ Laravel ΡΠ΅ΡΠ΅Π· ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ°Π½ΡΠ°ΠΉΠΌΡ (php-fpm, RoadRunner, Swoole, FrankenPHP) + ΠΌΠ°Π»ΠΎΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ngx-php, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ Web Framework Benchmarks ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ·Π°Π΄ΠΈ Π΄Π°ΠΆΠ΅ Swoole ΠΈ workerman.
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β ΠΡΠ½Ρ 2024
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
βοΈ ΠΡΡΠ»ΠΈ PHP 8.1.29, PHP 8.2.20 ΠΈ PHP 8.3.8
π PHP ΠΈΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡ 29 Π»Π΅Ρ!
πΉ Developer Ecosystem Survey 2024
πΉ Projects IDX Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ Laravel
π Π―ΠΠ Π PHP
β
RFC: Add stream open functions to XML{Reader,Writer}
π£ RFC: Static Constructors
π£ RFC: Static class
π£ RFC: Lazy Objects
π£ RFC: Deprecations for PHP 8.4
π΄ LARAVEL
π Π Π°Π±ΠΎΡΠ° Ρ Π½ΠΎΠ²ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ Π² Laravel 11
π ΠΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ²ΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Filament
π ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ PHP (Laravel) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ xhprof. Π£ΡΠΈΠΌΡΡ ΠΈΡΠΊΠ°ΡΡ Π±ΠΎΡΠ»Π½Π΅ΠΊΠΈ
π¬ ΠΠ±ΡΠ΅ΠΊΡ ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°. ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Π½Π΅ Π·Π½Π°Π»
π¬ ΠΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² Laravel
β«οΈ SYMFONY
π ΠΡΠΈΠΌΠ΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° Π΄Π»Ρ Symfony Messenger
π Π‘Π’ΠΠ’Π¬Π
π ΠΡΠ°ΡΠΊΠΈΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΎΡ ΠΏΠΎ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Senior PHP/GO Backend
π CVE-2024-4577: ΠΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, PHP ΠΎΠΏΡΡΡ ΠΏΠΎΠ΄ Π°ΡΠ°ΠΊΠΎΠΉ
π ΠΠ°ΠΊΠ΅Ρ Π΄Π»Ρ ΠΈΠ½Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΠΠ¨Π° Π½Π° PHP
π¬ ΠΠΠΠΠ
πΉ ΠΡΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π½Π° BeerPHP Moscow: ΠΠ»Π΅ΠΊΡΠ΅ΠΉ Π‘ΠΈΠ΄ΠΎΡΠΊΠΈΠ½, ΠΠ°ΠΊΡΠΈΠΌ Π₯Π°ΡΠ°Π½ΠΎΠ² ΠΈ ΠΠ°Π»Π΅Π½ΡΠΈΠ½ Π£Π΄Π°Π»ΡΡΠΎΠ²
πΉ ΠΡ Π‘Π΅Π½ΡΠΎΡΠ° ΠΊ ΠΡΡ
ΠΈΡΠ΅ΠΊΡΠΎΡΡ: Π Π°Π·Π±ΠΎΡ ΠΊΠ°ΡΡΠ΅ΡΠ½ΡΡ
ΡΡΠΎΠΏ Ρ ΠΠ½ΡΠΎΠ½ΠΎΠΌ ΠΠ°Π²ΡΠ΄ΠΎΠ²ΡΠΌ!
πΉ Profiling Laravel Apps with XHProf and Buggregator on Steroids!
πΉ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ RoadRunner ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½ Π²Π°ΡΠ΅ΠΌΡ PHP-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
πΉ ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ PHP ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Ρ gRPC: ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ | Π§Π°ΡΡΡ 4
πΉ Lamoda Tech PHP/Go Meetup
πΉ Π’ΡΠΏΠ°Ρ ΡΠΌΠ½Π°Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΈΡ
πΉ ΠΡΠΎ Yii3 ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ
πΉ ΠΠ°ΠΊΠΈΠ΅ Π°Π²ΡΠΎΡΠ΅ΡΡΡ Π½ΡΠΆΠ½Ρ ΡΠ²ΠΎΠ΅ΠΌΡ Π»Π΅Π³Π°ΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ?
πΉ PHP 8.4: Property Hooks vs Getter / Setter
π
Π‘ΠΠΠ«Π’ΠΠ―
πΉ PHP Russia 2024, 28-29 Π½ΠΎΡΠ±ΡΡ 2024
πΉ Podlodka PHP Crew, 30 ΡΠ΅Π½ΡΡΠ±ΡΡ β 4 ΠΎΠΊΡΡΠ±ΡΡ, 2024
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΠΈΡΠ½ΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
Repost from ΠΡΡ
π Π‘ Π΄Π½ΡΠΌ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ, PHP!
Π 29-ΠΎΠΌΡ Π΄Π½Ρ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ PHP Π ΠΎΠΌΠ° ΠΡΠΎΠ½ΡΠΊΠΈΠΉ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡΠΎΠ»ΠΈΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π» ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ» ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ°!
https://youtu.be/0BPExYh5Anw
Π Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΎΠΊ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ·Π½Π°ΡΠ΅Π»ΡΠ½ΡΡ
:
β’ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ Ρ Π Π°ΡΠΌΡΡΠΎΠΌ ΠΏΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΠ·ΠΎΠ±ΡΡΠ» PHP,
β’ ΠΌΡΠ·Π΅ΠΉ PHP,
β’ ΡΡΠ°ΡΡΡ ΠΡΡΡΠΌΠ° Π£ΠΊΡΠ°ΠΈΠ½ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎ PHP 1 Π½Π° Π₯Π°Π±ΡΠ΅.
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β ΠΠ°ΠΉ 2024
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
πΉ ΠΡΡΠ»ΠΈ PHP 8.2.19 ΠΈ PHP 8.3.7
π ΠΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π½Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° PhpStorm 2024.2
π Π―ΠΠ Π PHP
β
RFC: new MyClass()->method() without parentheses
β
RFC: array_find
β
RFC: Support object type in BCMath
π RFC: #[\Deprecated] Attribute
π£ RFC: New ext-dom features in PHP 8.4
π£ RFC: Transform exit() from a language construct into a standard function
π΄ LARAVEL
πΉ ΠΡΡΠ΅Π» Statamic 5
π Meilisearch β ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ Laravel
π ΠΠ½ΠΈΠ³Π°: Β«Laravel. ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ. 3-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Β»
π¬ ΠΠΊΡΠΏΠΎΡΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ
. Express ΡΠΎΠ²Π΅ΡΡ
π¬ Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ (Associated) ΠΈ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ (Reactive) Π² Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»ΠΈ MoonShine 2
π¬ ΠΠ±ΡΠ΅ΠΊΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² Laravel. Express ΡΠΎΠ²Π΅ΡΡ
β«οΈ SYMFONY
π ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° PHP
π ΠΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Symfony Messenger
π Π‘Π’ΠΠ’Π¬Π
π PHP/FI 1. Personal Home Page Tools/Forms Interpreter
π PHP: 8 ΡΡΠΎΠ²Π½Π΅ΠΉ Π»ΠΎΠ³ΠΎΠ²
πΉ ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠ°Ρ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡ
πΉ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Temporal Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
π¬ ΠΠΠΠΠ
πΉ ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ PHP ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Ρ GRPC: Spiral ΠΈ RoadRunner | ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
πΉ ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ PHP ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Ρ GRPC: Docker, Interceptors, OpenTelemetry | Π§Π°ΡΡΡ 2
πΉ ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ PHP ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Ρ Temporal + gRPC: ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ | Π§Π°ΡΡΡ 3
πΉ ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ PHP ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Ρ Temporal + gRPC: ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ | Π§Π°ΡΡΡ 4
πΉ Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ CQRS ΡΠ΅ΡΠ²ΠΈΡ Ρ Π½ΡΠ»Ρ: Spiral, Symfony Messenger ΠΈ PHP Attributes | ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
πΉ ΠΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌ Π±ΡΠ΄ΡΡΠ΅Π΅ PHP: ΡΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π½ΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ Ρ ΠΠ½ΡΠΎΠ½ΠΎΠΌ Π’ΠΈΡΠΎΠ²ΡΠΌ
πΉ ΠΠ±Π·ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠ° buggregator ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ Ρ Π°Π²ΡΠΎΡΠΎΠΌ - ΠΠ°Π²Π»ΠΎΠΌ ΠΡΡΠ½Π΅Π²ΡΠΌ
π
Π‘ΠΠΠ«Π’ΠΠ―
πΉ Beer PHP Moscow: 6 ΠΈΡΠ½Ρ 2024 Π² 19:00
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΠΌΠ°ΠΉΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β ΠΠΏΡΠ΅Π»Ρ 2024
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
βοΈΠΡΡΠ»ΠΈ PHP 8.1.28, PHP 8.2.18 ΠΈ PHP 8.3.6
βοΈΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ PHP ΠΎΠ± ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² glibc/iconv
βοΈΠΡΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΎ Π±ΡΠΊΠ΄ΠΎΡΠ΅ Π² XZ
π ΠΡΡΠ΅Π» PhpStorm 2024.1
π Π―ΠΠ Π PHP
πΉ ΠΡΠ±ΡΠ°Π½Ρ ΡΠ΅Π»ΠΈΠ·-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ PHP 8.4
β
RFC: Deprecate implicitly nullable parameter types
β
RFC: Deprecate GET/POST sessions
β
RFC: Property hooks
β
RFC: Dedicated StreamBucket class
β
RFC: Grapheme cluster for str_split function: grapheme_str_split
β
RFC: Release cycle update
β RFC: Rounding Integers as int
π RFC: Support object type in BCMath
π RFC: Casing of acronyms in class and method names
π£ RFC: Add openStream() to XML{Reader,Writer}
π£ RFC: new MyClass()->method() without parentheses
π£ RFC: array_find
π΄ LARAVEL
π¬ Π Π°Π·Π±ΠΎΡ Error Handling Π² Laravel
π Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΡΡΡΡΠ°Ρ
Laravel
π ΠΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠΉ API Resource Π² Laravel
π ΠΠΎΡΠ΅ΠΌΡ FilamentPHP β ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ CMS
β«οΈ SYMFONY
π¬ Symfony of packages: ΠΊΠ°ΠΊ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠΏΡΠΎΡΠ°ΡΡ ΠΆΠΈΠ·Π½Ρ
π Π‘Π’ΠΠ’Π¬Π
π ΠΠ°ΠΊ Ρ ΡΡΠΎΠ½ΠΈΠ» ΠΏΡΠΎΠ΄ Π½Π° ΠΏΠΎΠ»ΡΠΎΡΠ° ΡΠ°ΡΠ° (ΠΈ ΠΏΡΠΈ ΡΠ΅ΠΌ ΡΡΡ soft delete ΠΈ partial index)
π ΠΠ½Π΅ΠΌΠΈΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° Π² ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ
π¬ ΠΠΠΠΠ
πΉ PHP Russia 2022
πΉ ΠΠΈΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ PHP Π½Π° Rust
πΉ ΠΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ, ΠΊΡΠ΄Π° ΠΈΠ΄ΡΡ PHP ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ, ΠΊΡΠ΄Π° ΠΈΠ΄ΡΡ PHP-ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ
πΉ Interceptors Π² PHP Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Spiral framework
πΉ ΠΠ±Π·ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ onFriday
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² Π°ΠΏΡΠ΅Π»ΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
Repost from ΠΠΎΠ²ΠΎΡΡΠΈ ΠΎΡ CutCode
ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ Π²ΡΠ΅Ρ
PHP-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²!
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π²ΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° ΠΈΠ³ΡΡ-Π²ΠΈΠΊΡΠΎΡΠΈΠ½Ρ Π² ΡΡΠΈΠ»Π΅ "Π‘Π²ΠΎΠ΅ΠΉ ΠΈΠ³ΡΡ" Π² ΡΠ°Π·Π³Π°ΡΠ΅! ΠΠ°Π»Π΅Π½ΡΠΈΠ½ Π£Π΄Π°Π»ΡΡΠΎΠ², ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ°Π³Π°ΡΠΈΠ½ ΠΈ ΠΡΡΡ ΠΡΠ·ΠΈΠ½ ΡΠΆΠ΅ ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π½Ρ ΡΡΡΠ΄ΠΈΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ°Π·ΠΈΡΡ Π²Π°Ρ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠ΄ΠΈΡΠΈΠ΅ΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ
ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΏΠΎΠ±Π΅Π΄Ρ!
ΠΠΈΠΊΡΠΎΡΠΈΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ Π² ΠΏΡΡΠΌΠΎΠΌ ΡΡΠΈΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ YouTube-ΠΊΠ°Π½Π°Π»Π΅ CutCode. Π‘ ΡΡΡΡΠΎΠΌ ΠΎΠΏΡΡΠ° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΠ³ΡΡ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΠΎΠΏΡΠΎΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ³ΡΠ° ΠΏΡΠΎΡΠ»Π° Π΅ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½Π΅Π΅. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΈΡ ΠΎΡΠΈΡΠΎΠΌ ΠΈ ΠΈΠ³ΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ!
ΠΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΡΡΠΎ Ρ
ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ΠΌΡ. ΠΠΎ Π²ΡΡΡΠ΅ΡΠΈ Π½Π° Π²ΠΈΠΊΡΠΎΡΠΈΠ½Π΅!
https://www.youtube.com/watch?v=ef0LPaVNJLs
ΠΠΎΠΏΡΠΎΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΡΡ
7 855
Β«Π‘Π²ΠΎΡ ΠΈΠ³ΡΠ°Β» ΠΏΠΎ PHP Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ ΡΠ΅ΠΉΡΠ°Ρ Π²ΠΎΠΏΡΠΎΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌ Π²ΠΈΠΊΡΠΎΡΠΈΠ½Ρ.
Π‘Π°ΠΌΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π±ΡΠ΄ΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Ρ Π½Π° ΠΈΠ³ΡΠ΅, Π° ΠΈΡ
Π°Π²ΡΠΎΡΡ ΠΏΠΎΠ»ΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΠ³ΡΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ΅ΡΡ!
π 13 ΠΌΠ°ΡΡΠ° Π² 19:00 (ΠΌΡΠΊ)
πΉ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ ΠΠ°ΠΊΠ°ΡΠΎΠ²
πΉ ΠΠΈΡΠΈΠ»Π» ΠΠ΅ΡΠΌΠ΅ΡΠ½ΠΎΠ²
πΉ ΠΠ΄Π΅Π»Ρ Π€Π°ΠΉΠ·ΡΠ°Ρ
ΠΌΠ°Π½ΠΎΠ²
π¬ https://www.youtube.com/watch?v=WNIAO0kEk7U
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β Π€Π΅Π²ΡΠ°Π»Ρ-ΠΠ°ΡΡ 2024
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
πΉ ΠΡΡΠ»ΠΈ PHP 8.2.16 ΠΈ PHP 8.3.3
βοΈ ΠΡΡΠ΅Π» Composer 2.7 Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ CVE-2024-24821
πΉ ΠΡΠΎΠ³ΠΈ Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΎΡΠ° PHP-ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°: ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π·Π° 2023
πΉ ΠΡΡΠ΅Π» Rector 1.0
πΉ ΠΡΡΠ΅Π» PHPUnit 11
π Π―ΠΠ Π PHP
π¬ ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ PHP Foundation!
π RFC: Deprecate implicitly nullable parameter types
π£ RFC: Add OOP methods to Curl objects
π£ RFC: Property hooks
β RFC: Final by default anonymous classes
β
RFC: Multibyte for ucfirst, lcfirst functions, mb_ucfirst mb_lcfirst
β
RFC: RFC1867 for non-POST HTTP verbs
β
RFC: Add http_(get|clear)_last_response_headers() function
π΄ LARAVEL
π Laravel ΡΡΡΠΊΠΈ: Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»ΠΎΠ² Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
π ΠΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π² Laravel
π ΠΡΠ΄Π±Π°ΠΉ Pusher, ΠΏΡΠΈΠ²Π΅Ρ Laravel Websockets
π Laravel 11. Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ?
π ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ JSON ΡΠ΅ΡΠΏΠΎΠ½ΡΠΎΠ² Π² Laravel
π ΠΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ PostgreSQL Π² ΡΠΎΠ±ΡΡΠΈΡ Laravel
β«οΈ SYMFONY
π Logstash, Manticore, Nginx ΠΈ Symfony: ΡΠ±ΠΎΡ, Π°Π³ΡΠ΅Π³Π°ΡΠΈΡ ΠΈ Π±ΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ Π»ΠΎΠ³ΠΎΠ²
π ΠΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° Symfony ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΡ
ΠΎΠ΄Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ
π Π‘Π’ΠΠ’Π¬Π
π Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° Π―Π½Π΄Π΅ΠΊΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ
π ΠΠ΅Π½ΡΠ΅ΠΌ ΠΌΠΎΠΊΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π½Π° in-memory ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
π ΠΠ°ΠΊ Ρ ΠΏΠΈΡΠ°Π» ΡΠ²ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Telegram
π Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π±Π΅Π· ΡΠΏΠΎΡΠΎΠ² ΠΈ ΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΠΏΡΠ°ΠΊΡΠΈΠΊ
π ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ PHP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
π ΠΠ°ΠΊ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π» ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ ΡΡΡΠΎΠΊ Π² PHP
π ΠΠ°ΡΡΠ΅ΡΠ½ Aggregate Outside
π¬ ΠΠΠΠΠ
πΉ PDO. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Active Record
πΉ ΠΡΡ ΠΎ PSR. ΠΠ±Π·ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² PSR
πΉ ΠΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ Π§Π°ΡΡΡ 1, Π§Π°ΡΡΡ 2
πΉ LivePHP Meetup
πΉ Typhoon 0.3.0
πΉ Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌ ΡΡΠ΅Π· Π·Π½Π°Π½ΠΈΠΉ Π΄Π»Ρ 3-Π΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° Π₯Π°ΡΠ΄ΠΊΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΡΠ° PHP
πΉ ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ Doctrine Schema Π±Π΅Π· ORM
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β Π―Π½Π²Π°ΡΡ 2024
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
πΉ ΠΡΡΠ»ΠΈ PHP 8.2.15 ΠΈ PHP 8.3.2
πΉ The PHP Foundation Team Update 2024
πΉ Π Π΅ΠΉΡΠΈΠ½Π³ TIOBE
π ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π½Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° PhpStorm PhpStorm 2024.1
π Π―ΠΠ Π PHP
π£ RFC: Opt-in DOM spec-compliance
π£ Dedicated StreamBucket class
π£ RFC: Multibyte for ucfirst, lcfirst functions, mb_ucfirst mb_lcfirst
π£ RFC: Raising zero to the power of negative number
π£ RFC: Deprecate implicitly nullable parameter types
β
RFC: Improve callbacks in ext/dom and ext/xsl
β
RFC: Resource to object conversion
π RFC: Promote the PHP Foundation
π RFC: Final by default anonymous classes
π RFC: Policy Repository
π RFC: RFC1867 for non-POST HTTP verbs
π΄ LARAVEL
π Headless eCommerce Π½Π° Laravel: ΠΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
π ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠ΄Π»Π²Π°ΡΠ΅ΠΉ Π² Laravel 11
π ΠΡΠΎΡΠ°ΠΉΠ»ΠΈΠ½Π³ Laravel ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ XDebug ΠΈ PHPStorm
π¬ Laravel 11 ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ. Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ?
β«οΈ SYMFONY
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Symfony / PHP
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Symfony / PHP (II)
π ΠΠΎ Π»ΠΎΠΊΠΎΡΡ Π² Π»Π΅Π³Π°ΡΠΈ: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΏΠΎΡΡΠ°Π» Π½Π° PHP
π Π‘Π’ΠΠ’Π¬Π
π ΠΠ°ΠΊ Π·Π°ΡΠΈΡΠΈΡΡΡΡ ΠΎΡ Β«Π±Π΅ΡΡΠ΅Π»Π΅ΡΠ½ΡΡ
Β» Π²Π΅Π±-ΡΠ΅Π»Π»ΠΎΠ²
π ΠΠ°ΡΠΈΡΠ° JPG-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Exif ΠΈ IPTC-ΡΠ΅Π³ΠΎΠ²
π MemSess β ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΡΡΠΈΡΠΌΠΈ
π Π Π°Π·Π±ΠΎΡΠΊΠ° Π² Π¨ΡΠΎΡΠΌΠ΅
π Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ 20 ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
π ΠΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ SQL Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ΅ΡΠ°-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ ΠΠ
π¬ ΠΠΠΠΠ
πΉ ΠΠ±Π·ΠΎΡ Laravel Octane, Roadrunner, FrankenPHP
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΡΠ½Π²Π°ΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β ΠΠ΅ΠΊΠ°Π±ΡΡ 2023
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
πΉ ΠΡΡΠ»ΠΈ PHP 8.1.27, PHP 8.2.14 ΠΈ PHP 8.3.1
π ΠΡΡΠ΅Π» PhpStorm 2023.3
πΉ ΠΡΡΠ΅Π» Xdebug 3.3.0
πΉ ΠΡΡΠ΅Π» FrankenPHP v1.0
πΉ ΠΡΠ΄ΡΡΠ΅Π΅ PHP_CodeSniffer
π Π―ΠΠ Π PHP
π£ RFC: #[NotSerializable]
π£ RFC: Policy Repository
π RFC: Improve callbacks in ext/dom and ext/xsl
βπ£ RFC: Final anonymous classes
β
RFC: Change how JIT is disabled by default
π«£ new MyClass()->method() Π±Π΅Π· ΡΠΊΠΎΠ±ΠΎΠΊ!
πΉNew PECL is coming in 2024
π΄ LARAVEL
π ΠΠ±Π·ΠΎΡ LiveWire 3 ΠΈ Volt
π¬ Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΡ
ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ Π»Π°ΠΉΠΊΠΎΠ² Π½Π° Livewire + Volt
π¬ Distributed Cron scheduling
π¬ Π£ΡΠΈΠ»ΠΈΡΠ° Number Π² Laravel
π¬ MoonShine Screencasts
β«οΈ SYMFONY
βοΈΠ‘ΠΎΡΡΠΎΡΠ»ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΅Π»ΠΈΠ· Twig 2
π’ YII
πΉ Yii DB Migration 1.0
π Π‘Π’ΠΠ’Π¬Π
π ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΉ PHP-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°
π Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ΅Ρ Π½Π° PHP
π ΠΠ΅Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π² Phpstorm: Π½Π°ΡΠΈΠ²Π½Π°Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ php -a Ρ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· IDE
π ΠΠ΅ΡΡΠΈΠΎΠ½Π½Π°Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΡΠ΅ΡΠ΅Π· PHP Π°ΡΡΠΈΠ±ΡΡΡ
π¬ ΠΠΠΠΠ
πΉ OpenSource ΠΊΠ°ΠΊ Π²Π°ΠΆΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ
πΉ PHP Community meetup: 4 Π΄ΠΎΠΊΠ»Π°Π΄Π°, Π°ΠΏΠ΄Π΅ΠΉΡΡ PHP 8.3 ΠΈ ΠΈΡΠΎΠ³ΠΈ Π³ΠΎΠ΄Π°
β
ΠΡΠ΅Ρ
Ρ Π½Π°ΡΡΡΠΏΠ°ΡΡΠΈΠΌ ΠΠΎΠ²ΡΠΌ ΠΠΎΠ΄ΠΎΠΌ π
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² Π΄Π΅ΠΊΠ°Π±ΡΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β ΠΠΎΡΠ±ΡΡ 2023
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
π¬ ΠΠ±Π·ΠΎΡ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ PHP 8.3
β οΈ PHP 8.0 Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
πΉ ΠΡΡΠ»ΠΈ PHP 8.1.26 and PHP 8.2.13
π PHP Foundation ΠΈΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡ 2 Π³ΠΎΠ΄Π°
πΉ ΠΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² 2023 Π³ΠΎΠ΄Ρ
π Π―ΠΠ Π PHP
π£ RFC: Resource to object conversion
π£ RFC: Release cycle update
π£ RFC: Improve callbacks in ext/dom and ext/xsl
π£ RFC: Change how JIT is disabled by default
π£ RFC: Final anonymous classes
π£ RFC: Property Hooks
π΄ LARAVEL
πΉ ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Laravel Pulse
πΉ ΠΡΡΠ΅Π» Tinkerwell 4
π MoonShine 2.0. Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ?
π ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Nova: ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Ρ ΡΠ°ΠΌΠΎΠΏΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Orchid
π Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π² Laravel ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ relation-ΠΎΠ²
π¬ ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ Π³Π°ΠΉΠ΄ ΠΏΠΎ Form Requests Π² Laravel
π¬ Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Socialite
β«οΈ SYMFONY
πΉ ΠΡΡΠ»ΠΈ Symfony 6.4 ΠΈ 7.0
π Symfony ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ: Symfony Messenger ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
π Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ Swagger Π±Π΅Π· Π³ΠΌΠΎ
π’ YII
πΉ Yii Database 1.2
πΉ Yii Widget 2.1
πΉ Yii Config 1.4
π Π‘Π’ΠΠ’Π¬Π
π ΠΠ΅Π·ΠΎΡΠΊΠ°Π·Π½ΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π² RabbitMQ: ΠΠ°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
π Π Π±ΡΠ» Π»ΠΈ Π±Π°Π³? ΠΠΎΠΆΠ΅Ρ Π±Π°Π³Π° ΠΈ Π½Π΅ Π±ΡΠ»ΠΎ? ΠΠ°ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈ ΡΠ΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ PHP ΠΊΠΎΠ΄
π Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π³Π΅ΠΊΡΠ°Π³ΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΡΡΠΎΠ² ΠΈ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ²
πΉ PSR ΠΈ ΡΡΡΡΠΈΠΊΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²
π¬ ΠΠΠΠΠ
πΉ RND PHP #6
πΉ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ ΠΠ°ΠΊΠ°ΡΠΎΠ² - Β«Π‘Π»Π΅Π΄ΡΠΉ Π·Π° ΠΌΠ΅ΡΡΠΎΠΉΒ»
πΉ LivePHP SPb Meetup #1
π ΠΠ£ΠΠΠ
πΉ Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΊΡΡΡΠ΅ ΠΏΠΎ PHP?
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² Π½ΠΎΡΠ±ΡΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
ΠΡΡΠ΅Π» PHP 8.3 π
PHP 8.3 β Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° PHP.
ΠΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½ΠΎΠ²ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΠ²Π½Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΊΠ»Π°ΡΡΠΎΠ², Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ readonly-ΡΠ²ΠΎΠΉΡΡΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Randomizer.
ΠΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°, Π² Π½ΡΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
https://www.php.net/releases/8.3/ru.php
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β ΠΠΊΡΡΠ±ΡΡ 2023
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
πΉ ΠΡΡΠ»ΠΈ PHP 8.1.25 ΠΈ PHP 8.2.12
πΉ ΠΡΡΠ΅Π» PHP 8.3.0RC5
π Symfony ΠΈΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡ 18 Π»Π΅Ρ
π ΠΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π½Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° PhpStorm 2023.3
π Π―ΠΠ Π PHP
β
RFC: Increasing the default BCrypt cost
β
RFC: A new JIT implementation based on IR Framework
β
RFC: DOM HTML5 parsing and serialization
π£ RFC: Rounding Integers as int
π£ RFC: Unbundle ext/imap, ext/pspell, ext/oci8, and ext/PDO_OCI
π£ RFC: RFC1867 for non-POST HTTP
π£ RFC: Multibyte for trim function mb_trim, mb_ltrim and mb_rtrim
π£ RFC: Change the edge case of round()
π΄ LARAVEL
π ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ (Job) Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Laravel ΠΈΠ· Ρ
ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΠ»ΠΈ ΡΡΠΈΠ³Π³Π΅ΡΠ° PostgreSQL
π Persistent-request Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ²
π¬ ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Props Π² blade-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ
π¬ ΠΠ±Π·ΠΎΡ Livewire 3 ΠΈ Volt
π¬ LazyCollections ΠΈ PHP Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ
π’ YII
πΉ Yii Router Composer Attribute Collector
πΉ Yii Strings 2.3
πΉ Yii Auth 3.1
π¬ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π² PHP
π Π‘Π’ΠΠ’Π¬Π
π Code smells β ΠΎΠ±Π·ΠΎΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ PHP
π ΠΠ°ΠΊΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΊΠ»Π°ΡΡΡ β ΠΊΠΎΠ³Π΄Π° Β«ΡΠΈΡΡΡΠΉΒ» ΠΊΠΎΠ΄ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ ΠΈ Ρ
ΠΎΡΠΎΡ
π¬ ΠΠΠΠΠ
πΉ Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌ ΡΡΠ΅Π· Π·Π½Π°Π½ΠΈΠΉ Π΄Π»Ρ "Π₯Π°ΡΠ΄ΠΊΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΡΠ° PHP"
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΠΎΠΊΡΡΠ±ΡΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β Π‘Π΅Π½ΡΡΠ±ΡΡ 2023
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
βοΈ ΠΡΡΠ»ΠΈ PHP 8.0.30, PHP 8.1.22 ΠΈ PHP 8.2.9
πΉ ΠΡΡΠ»ΠΈ PHP 8.1.23 ΠΈ PHP 8.2.10
πΉ ΠΡΡΠ΅Π» PHP 8.3.0RC2
πΉ ΠΡΠ΅Π΄ΡΠ°Π²Π»Π΅Π½ RFC Vote
πΉ ΠΡΡΠ΅Π» WordPress 6.3 Β«LionelΒ»
π ΠΡΡΠ΅Π» PhpStorm 2023.2
π PhpStorm 2023.3 Roadmap
πΉ ΠΡΡΠ΅Π» CakePHP 5
πΉ ΠΡΡΠ΅Π» Filament 3
π Π―ΠΠ Π PHP
β RFC: Support optional suffix parameter in tempnam
π RFC: Increasing the default BCrypt cost
π£ RFC: DOM HTML5 parsing and serialization
π£ RFC: XML_OPTION_PARSE_HUGE
π£ RFC: Add 4 new rounding modes to round() function
π£ RFC: A new JIT implementation based on IR Framework
π΄ LARAVEL
π¬ ΠΠ±Π·ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Laravel Folio
π¬ ΠΠ±Π·ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Laravel Prompts
π¬ ΠΠ±Π·ΠΎΡ NativePHP
π ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ΄Π° Π² Laravel. ΠΠΈΡΠ½ΡΠΉ ΠΎΠΏΡΡ
π ΠΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π° MoonShine
β« SYMFONY
πΉ gRPC ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π° Symfony
π EasyAdmin ΠΈ Mercure: ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΠ·ΠΊΠ΅ΠΉΡ
βTwig 2 end of life
π Π‘Π’ΠΠ’Π¬Π
πΉ Π£ΡΠΊΠΎΡΡΠ΅ΠΌ PHPUnit Code Coverage Ρ ΠΏΠΎΠΌΠΎΡΡΡ PCOV
π PHP Fibers: ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ
π ΠΠ°ΠΊ ΠΌΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ Π²Π΅ΡΡΠΈΡ PHP Π·Π° ΠΌΠ΅ΡΡΡ, Π° ΠΏΠΎΡΡΠ°ΡΠΈΠ»ΠΈ Π½Π° ΡΡΠΎ Π³ΠΎΠ΄
π ΠΠΎΡΠ΅ΠΌΡ ΡΠΈΠΏ ΠΏΠΎΠ»Ρ enum Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π°Π·Ρ β Π·Π»ΠΎ
π Π£ΠΌΠ΅Π½ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°Π³ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅ ΡΠ°ΡΡΠΈΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ PHP Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ° Psalm
π Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
Π² ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΡ
π ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈΠ· PHP
π ΠΠ΅ΠΎΡΡΠΎΠ΄ΠΎΠΊΡΠ°Π»ΡΠ½ΡΠΉ Eloquent Π§Π°ΡΡΡ 1, Π§Π°ΡΡΡ 2
π¬ ΠΠΠΠΠ
πΉ PHP-Π»ΠΈΠ½Ρ #20
πΉ PHP-Π»ΠΈΠ½Ρ #21
πΉ ΠΡΡΠΈΠ±ΡΡΡ Π² PHP
πΉ Typhoon 0.2.0
π Π‘ΠΠΠ«Π’ΠΠ―
πΉPodlodka PHP Crew, 16 β 20 ΠΎΠΊΡΡΠ±ΡΡ
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΡΠ΅Π½ΡΡΠ±ΡΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β ΠΡΠ»Ρ 2023
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
πΉ ΠΡΡΠ»ΠΈ PHP 8.1.21 ΠΈ PHP 8.2.8
πΉ PHP 8.3.0 Beta 1 Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
πΉ ΠΡΡΠ΅Π» Livewire 3
πΉ ΠΡΡΠ΅Π» NativePHP
π ΠΡΡΠ΅Π» PhpStorm 2023.2 Beta
πΉ ΠΡΡΠ΅Π» Pest Β«Spicy SummerΒ»
π Π―ΠΠ Π PHP
β
RFC: Marking overridden methods (#[\Override])
β
RFC: Deprecations for PHP 8.3
β
RFC: Deprecate functions with overloaded signatures
β
RFC: Deprecate remains of string evaluated code assertions
β
RFC: Path to Saner Increment/Decrement operators
β
RFC: PDO driver specific sub-classes
β RFC: Interface Default Methods
π£ RFC: Closure self reference
π΄ LARAVEL
πΉ ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ 4 Π½ΠΎΠ²ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠ°: Folio, Volt, Herd ΠΈ Prompts
πΉ ΠΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Livewire v3
π ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ Laravel ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ
π¬ Middlewares Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π½Π° Laravel
π¬ ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ hasOneThrough ΠΈ hasManyThrough
β« SYMFONY
πΉ Romaixn/gosumer β ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Symfony Messenger Ρ ΠΏΠΎΠΌΠΎΡΡΡ Go.
π’ YII
πΉ yiisoft/proxy-middleware 1.0.0
πΉ yiisoft/rate-limiter 3.0.0
πΉ Embracing the Future: Yii Framework Updates and Yii 2.2 Discussions
π Π‘Π’ΠΠ’Π¬Π
π PHP. ΠΠ°ΠΊ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² 3 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π· ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ
π Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΌ PHP
π ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΈΡΠ΅Π» ΠΏΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΡΠ½Π°
π ΠΠ΅ΡΠ΄Π°ΡΠ½ΠΎΠ΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Redis Cluster Π² ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ Π½Π° PHP 7.2.X
π ΠΠ°ΠΊ Π΄Π²Π° Π±Π°ΠΉΡΠ° ΠΏΠ΅ΡΠ΅ΡΠ»Π°ΡΡ: ΠΊΠΎΠ½ΡΡΠΈΠ±ΡΡΡΠΈΠΌ Π² KPHP
π Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Π² PHP. Π‘Π±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ°, ΡΠ»Π°Π±ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠ°Ρ ΡΠ΅Π»ΡΠ΄Ρ
π Π‘ΠΠΠ«Π’ΠΠ―
πΉPodlodka PHP Crew, 23 β 27 ΠΎΠΊΡΡΠ±ΡΡ
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΠΈΡΠ»ΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
PHP-Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ ΡΠΎΡΠΌΠ°ΡΠ΅ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ CutCode π¬
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β ΠΡΠ½Ρ 2023
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
βοΈ ΠΡΡΠ»ΠΈ PHP 8.0.29, PHP 8.1.20 ΠΈ PHP 8.2.7
πΉ PHP 8.3.0 Alpha 1 Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
βοΈ ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΡΠ°ΠΉΠ» composer.json 14 PHP-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Packagist Π² ΠΏΠΎΠΏΡΡΠΊΠ΅ Π½Π°ΠΉΡΠΈ ΡΠ°Π±ΠΎΡΡ
πΉ ΠΡΡΠ΅Π» Statamic 4
π ΠΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π½Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° PhpStorm 2023.2
π Π―ΠΠ Π PHP
π£ RFC: Deprecate functions with overloaded signatures
β RFC: PHP Technical Committee
β
RFC: Use exceptions by default in SQLite3 extension
π£ RFC: Marking overridden methods (#[\Override])
π£ RFC: NameOf
π΄ LARAVEL
π¬ ΠΠ°ΠΉΠ΄ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΠΌ Π² Laravel
π¬ ΠΠ±Π·ΠΎΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ MoonShine
π¬ PEST ΡΠ΅ΡΡΡ Π² Laravel. ΠΠ±Π·ΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ²
β« SYMFONY
πΉ ΠΡΡΠ΅Π» Symfony 6.3.0
π ΠΠΎΠΏΡΠΎΡΠ°ΠΉΡΠ΅ΡΡ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΠΌΠΈ Π½Π° null ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ½Π°Π΄Ρ Maybe Π² Symfony
π’ YII
π ΠΠΎΠ²ΠΎΡΡΠΈ Yii 2023, Π²ΡΠΏΡΡΠΊ 2
π¬ ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Yii3
π Π‘Π’ΠΠ’Π¬Π
πΉ gRPC ΡΠ΅ΡΠ²Π΅Ρ Π½Π° PHP Ρ ΠΏΠΎΠΌΠΎΡΡΡ Roadrunner, Spiral Framework, Docker
π ΠΠΎΠ»Π³ΠΎΠΈΠ³ΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° PHP
π ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ composer
π ΠΠΎΠ²ΠΈ ΠΌΡΡΠ°Π½ΡΠ°! ΠΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΡΡ: Π·Π°ΡΠ΅ΠΌ ΠΈ ΠΊΠ°ΠΊ
π ΠΠ½Π°Π»ΠΈΠ· ΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠΈΠ·Π°ΡΠΈΡ Π·Π°Π΄Π°Ρ Π² ΡΠΈΠΊΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅: ΠΊΠ°ΠΊ ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π° PHP
π Π₯ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π³ΡΠ°Π±Π»ΡΠΌ PDO: ΡΡΠΎ ΡΠΊΡΡΠ²Π°ΡΡ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ PHP ORM
π ΠΠΈΡΠ΅ΠΌ Telegram Π±ΠΎΡΠ° Π΄Π»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΡ
ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ AI
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ICU Message Format Π² PHP
πΉ Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ ΠΈΡ
ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
π¬ ΠΠΠΠΠ
πΉPHP-Π»ΠΈΠ½Ρ #16
πΉPHP-Π»ΠΈΠ½Ρ #17
πΉPHP-Π»ΠΈΠ½Ρ #18
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΠΈΡΠ½ΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β ΠΠΏΡΠ΅Π»Ρ 2023
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
πΉ ΠΡΡΠ»ΠΈ PHP 8.1.18 ΠΈ PHP 8.2.5
πΉ ΠΡΡΠ΅Π» Pest 2.0
πΉ ΠΡΡΠ΅Π» Bref 2.0
πΉ ΠΡΡΠ΅Π» ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ PER 2.0
πΉ ΠΡΠ±ΡΠ°Π½Ρ ΡΠ΅Π»ΠΈΠ·-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ PHP 8.3
π PHP Foundation Update, March 2023
π ΠΡΡΠ΅Π» PhpStorm 2023.1
π Π―ΠΠ Π PHP
β
RFC: Arbitrary static variable initializers
π£ RFC: Clone with
π£ RFC: New core autoloading mechanism with support for function autoloading
π£ Jakub Zelenka ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΈΡΠ΅Ρ PHP
π΄ LARAVEL
πΉ ΠΡΡΠ΅Π» Valet 4.0
πΉ ΠΡΡΠ΅Π» Laravel IDEA 7.0
π¬ ΠΠ±Π·ΠΎΡ Spatie route attributes
π¬ ΠΠ±Π·ΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Fortify Π΄Π»Ρ Laravel
π οΈ ΠΠΠ‘Π’Π Π£ΠΠΠΠ’Π«
πΉ crazywhalecc/static-php-cli - ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ PHP-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄ΠΈΠ½ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
πΉ aschmelyun/subvert - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ±ΡΠΈΡΡΠΎΠ², Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΠΈ Π³Π»Π°Π² ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎ Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΠ½Π΄Ρ.
π§ NativePHP - Marcel Pociot ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Laravel/PHP ΠΏΠΎΠ²Π΅ΡΡ
Electron ΠΈΠ»ΠΈ Tauri.
π Π‘Π’ΠΠ’Π¬Π
π ΠΠ°ΠΊ ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π½Π° Π±ΡΠΊΠ΅Π½Π΄Π΅: ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²
π ΠΠΏΠ³ΡΠ΅ΠΉΠ΄ ΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ PHP-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² β ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Ρ Rector
π ΠΠ°ΠΊ ΡΠ°Π·ΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π½Π° PHP (ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ)?
π Β«ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ΅ΠΌ Π²ΡΡ Ρ Π½ΡΠ»ΡΒ». ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ, Π° Π½Π΅ Π±ΠΈΠ·Π½Π΅ΡΡ
π ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ Π±ΡΡΡΡΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠ΅ .exe ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° PHP 8.1 Π² 2023 Π³ΠΎΠ΄Ρ, Π° ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ ΠΈ Π½Π΅Ρ?
π ΠΡΠΎΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ β Message-Driven ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° PHP
π Π¦Π£Π¦ β ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡΠ²Π΅ΡΡΠΈ 15 ΡΡΡΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΎΡ ΡΠ°Π·Π½ΡΡ
ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠ² Π½Π° ΠΊΠΎΠ»Π΅Π½ΠΊΠ΅
π Π― ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» GitHub Copilot, ΠΈ Ρ Π² Π²ΠΎΡΡΠΎΡΠ³Π΅
π¬ ΠΠΠΠΠ
πΉ PHP-Π»ΠΈΠ½Ρ #10
πΉ PHP-Π»ΠΈΠ½Ρ #11
πΉ PHP-Π»ΠΈΠ½Ρ #12
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² Π°ΠΏΡΠ΅Π»ΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
7 855
ΠΠ°ΠΉΠ΄ΠΆΠ΅ΡΡ PHP β Π€Π΅Π²ΡΠ°Π»Ρ 2023
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ²Π΅ΠΆΠΈΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΠΈΠ· ΠΌΠΈΡΠ° PHP. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
β‘οΈ ΠΠΠΠΠ‘Π’Π
πΉ ΠΡΡΠ»ΠΈ PHP 8.0.28, PHP 8.1.16 ΠΈ PHP 8.2.3
βοΈΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ CVE-2023-0568, CVE-2023-0567 ΠΈ CVE-2023-0662.
πΉ ΠΡΡΠ΅Π» Laravel 10
πΉ ΠΡΡΠ΅Π» PHPUnit 10
β
ΠΡΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈΠ· ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ PER
ΠΠ΅ΡΡΠΈΡ 1.0.0 Π±ΡΠ»Π° ΠΊΠΎΠΏΠΈΠ΅ΠΉ PSR-12. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ PHP ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΉ.
π Π―ΠΠ Π PHP
β RFC: Asymmetric Visibility
Ilija Tovilo ΠΈ Larry Garfield ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΡΠ·ΡΠ²Ρ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ RFC, Π° ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ°ΡΡΡ Π½Π° RFC ΠΏΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Ρ
ΡΠΊΠΎΠ² ΠΈ Π°ΠΊΡΠ΅ΡΡΠΎΡΠΎΠ² ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ.
β
RFC: Readonly amendments
π£ RFC: Path to Saner Increment/Decrement operators β George Peter Banyard ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ»ΡΡΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° ΠΈ Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°.
π£ RFC: Pass Scope to Magic Accessors β Nicolas Grekas ΠΈ Ilija Tovilo ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΡΠ·ΠΎΠ²Π° Π² ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°ΠΊΡΠ΅ΡΡΠΎΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠΌ.
π£ RFC: Typed class constants β Benas Seliuginas ΠΈ MΓ‘tΓ© Kocsis ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
π£ RFC: Working With Substrings β Thomas Hruska ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°ΠΌΠΈ.
π PhpStorm 2023.1 Early Access Program Is Open!
- ΠΠ°ΠΏΡΡΠΊ PHP-ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° 3v4l.org
- Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠ±ΡΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄Π»Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² PHP
- Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅
- ΠΠΎΠΈΡΠΊ ΠΈ Π·Π°ΠΌΠ΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
β« SYMFONY
πΉ ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ OneToMany ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Doctrine
πΉ ΠΠΎΠΊΠ΅ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ Symfony
πΉ Clean Architecture, DDD, Π³Π΅ΠΊΡΠ°Π³ΠΎΠ½Π°Π»ΡΠ½Π°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°. Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ blog Π½Π° Symfony
π΄ LARAVEL
π¬ ΠΠ±Π·ΠΎΡ Laravel 10. Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΈ ΠΏΠΎΠΏΡΡΠΊΠ° Π°ΠΏΠ³ΡΠ΅ΠΉΠ΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ Laravel 9 Π΄ΠΎ 10 Π²Π΅ΡΡΠΈΠΈ
π¬ Π Π°Π·Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄Π° Macro
π¬ Π Π°Π·Π±ΠΎΡ Query Builder, Collections, Model Π² Laravel
π’ YII
πΉ Yii Validator β ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΌΠΎΡΠ½ΡΠΉ
πΉ Yii news 2023, issue 1
π ΠΠΠ‘Π’Π Π£ΠΠΠΠ’Π«
πΉ paratestphp/paratest β ΠΠ°ΠΊΠ΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ PHPUnit. ΠΡΡΠ»Π° Π²Π΅ΡΡΠΈΡ 7.0.0.
πΉ spatie/php-structure-discoverer β ΠΠ°ΠΊΠ΅Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π² PHP-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
πΉ TheDragonCode/benchmark β ΠΡΠΎΡΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π²ΡΡ
ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°.
πΉ Sammyjo20/Saloon β ΠΠ΄Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ SDK Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ API Π² Π΅Π΄ΠΈΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅.
π Π‘Π’ΠΠ’Π¬Π
πΉ ΠΠΌΠΏΠΎΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ Π±Π°Π·Ρ Π€ΠΠΠ‘ Π·Π° 9 ΡΠ°ΡΠΎΠ², How To
πΉ ΠΡΠΎΡΡΠΎΠΉ Π±Π΅Π½ΡΠΌΠ°ΡΠΊ Π΄Π»Ρ PHP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
πΉ ΠΠ²ΡΡ
ΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ CI-ΠΏΡΠΎΡΠ΅ΡΡ PHP-ΠΏΡΠΎΠ΅ΠΊΡΠ°
πΉ ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
πΉ ΠΠ΅ ΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠΈΡΡ Π²Π²ΠΎΠ΄. ΠΠΊΡΠ°Π½ΠΈΡΡΠΉΡΠ΅ Π²ΡΠ²ΠΎΠ΄
πΉ PHPStorm + XDebug + Docker
πΉ ΠΡΠΎΠ³ΠΈ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΎΡΠ° PHP-ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°
πΉ ΠΠΎΡΠΎΠ²ΠΈΠΌ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ API Π² PHP-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ
πΠΠ£ΠΠΠ/ΠΠΠΠΠ
π¬ PHP-Π»ΠΈΠ½Ρ #9
π΅ Π‘Π°ΠΌΠΎΠΏΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
π
Π‘ΠΠΠ«Π’ΠΠ―
π Podlodka PHP Crew Γ Π’ΠΎΡΠΊΠ° β 27 ΡΠ΅Π²ΡΠ°Π»Ρ - 3 ΠΌΠ°ΡΡΠ°.
β
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π² ΡΠ΅Π²ΡΠ°Π»ΡΡΠΊΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ PHP Annotated ΠΎΡ JetBrains π
