Laracon US summary, a PDO driver with specific sub-classes and more
A few days ago took place the Laracon US 2023 and we have a lot of new products and updates related to Laravel. Also, a new RFC and some minor updates around Symfony.
🎉 Boost your product with a Product Developer
If you want to launch a new product or need help with an existing one, check developerjoy.co. You can have your own Senior Developer as a Subscription service. No fees or hidden costs, and you can cancel or pause your subscription with a single click. Book a call now, and launch your idea!
[Ad] https://developerjoy.co
PHP Internals
📣 RFC: PDO driver specific sub-classes
The proposal aims to create new subclasses of PDO with driver-specific methods and introduce PDO::connect to instantiate these subclasses. Each PDO extension in the PHP src repository will have its own subclass, offering specialized database functionality not found in the generic PDO class.
Laravel
A few days ago took place the Laracon US where many things around Laravel were presented. That’s why we have a lot of Laravel related news!
🆕 NativePHP
This one is huge. With this library and Laravel you will be able to create and ship fully native applications with PHP. You have access to some native APIs to customize application menu, right click menu, resize the window and a much more.
🆕 Pest 2.9
It introduced a groundbreaking architectural plugin, 80% faster parallel testing, profiling options, and various other features.
Built-in Snapshot Testing, for testing the long-output of your code with ease
Describe Blocks, for grouping tests and sharing setup and teardown logic
Architectural Testing++, even more powerful architectural testing
Type Coverage Plugin, for measuring the percentage of code that is covered by type declarations
Drift Plugin, for automatically convert your PHPUnit tests to Pest
🆕 Laravel Herd
A completely free macOS app to get started with PHP on your system. No brew required, built-in PHP updates and much more. We've been working on this for the last couple of weeks and I'm super proud of it.
Unfortunately, it is not currently supported by xDebug, although it is coming.
🆕 Laravel Prompts
It’s a new way to build console commands. It has some incredible features like real-time search fields, or scrollable select list. Everything with a beautiful UI.
Symfony
Small updates during this week
27651a5: [Routing] use vsprintf instead of sprintf + unpacking
d79796b: [WebProfilerBundle] fix error in case of Content-Type set null in dev environment with no debug
9aaf7f3: fix deprecations on PHP 8.3
d09a9dc: [HttpFoundation, HttpKernel] fix deprecations when Content-Type is null
89ab7f3: [VarExporter] fix exporting classes with __serialize() but not __unserialize()
5f08512: [Validator] fix regression with class metadatada on parent classes
75d6ba0: [Form] relax assertions for ICU 72.1
06ec40a: fix htaccess sample to use index.php instead of app.php
0bc39e8: [Form] fix form events phpdocs
0479bd1: [DependencyInjection] fix fetching lazy non-shared services multiple times with as files true
f105b5a: [Intl] fixed directory traversal in emoji compression tool
93f53fe: [AssetMapper] fixing import parsing from jsdelivr
ee2e517: [SecurityBundle] add firewalls.logout.csrf_token_manager to XSD
d5f4cf2: [Mailer] disable tls for mailgun as it should use STARTTLS
d736df8: [Form] remove duplicated attr option in FormType
40d61eb: [Messenger] deprecate StopWorkerOnSignalsListener
d0b8685: [DependencyInjection] improve type of factories in ServiceLocatorTrait
02147d3: [FrameworkBundle] deprecate doctrine/annotations integration
503a7b3: [Form] deprecate FormEvent::setData() for events that do not allow it
49c048f: [HttpClient] add an HAR response factory for testing
Misc
📦 MphpD
A fully-featured, dependency-free PHP library for the Music Player Daemon. It's my first take on a library so feedback and suggestions is very much welcome and appreciated.
📦 NumPower
A library for numerical calculations and scientific computing made for PHP.
📚 How to avoid Maintaining Classes you Don't Use
Interesting article about how to find Leaking classes in your code with PHPStan and static analysis. The author shares an experience with a legacy project that required a PHP and Symfony upgrade, where dead-code detection was used. Dead-code detection can help you to remove 20% of your code, that was he finds.