PHP Doesn't Suck Anymore (2023)
This week we have new Laravel and Symfony releases, and interesting video about the PHP evolution in the past years and some interesting packages.
📊 Best Google Analytics alternative for Your Product.
Easy to understand and actionable statistics. Know how your users reach you and how they are using your product. This is how traffic analytics should have always been.
[Ad] https://metricswave.com
PHP
📼 PHP doesn’t Suck Anymore
Laravel
🆕 Laravel 10.19
Lots of new methods and attributes this week brings us to Laravel 10.19. Here are the highlights:
Add
wordWrap
to Str in #48012Fix
assertRedirectToRoute
when route uri is empty in #48023Fix forced use of write DB connection in #48015
Add ability to customize class resolution in event discovery in #48031
Add
percentage
to Collections in #48034Allow Listeners to dynamically specify delay using
withDelay
in #48026Add optional
count
parameter tocreateMany
andcreateManyQuietly
in #48048Add attributes support on default component slot in #48039
Add
WithoutRelations
attribute for model serialization in #47989
You may review the full branch diff on GitHub for a complete list of changes.
Symfony
🆕 5.4 changelog:
997b97b: [DependencyInjection] fix dump xml with array/object/enum default value
370d5c0: [Console] fix linewraps in OutputFormatter
3bff6fe: [Validator] dump Valid constraints on debug command
🆕 6.3 changelog:
7e9c46d: [DependencyInjection] allow passing an inline_service to a service_locator
aba725f: [AssetMapper] fixing bug where a circular exception could be thrown while making error message
c60e6b6: [Notifier, Pushover] fix invalid method call + improve exception message
2991661: [Console] avoid multiple new line when message already ends with a new line in section output
a3e9a00: [HttpKernel] fix missing Request in RequestStack for StreamedResponse
6bc9982: [Validator] add annotation in Constraint
🆕 6.4 changelog:
a70e5e1: [Validator] replace annotations with attributes in tests
c2ac73c: [DomCrawler] added argument $default to method Crawler::attr()
1e6b567: [Lock] add some missing return types in tests
bb8c76d: [Clock] throw DateMalformedStringException/DateInvalidTimeZoneException when appropriate
11b587a: [FrameworkBundle, Validator] replace annotation by attribute in tests
d07f17a: [FrameworkBundle] deprecate not setting some options
4439602: [FrameworkBundle] deprecate not setting some options (uid, validation)
9a0f178: [FrameworkBundle] add AbstractController::renderBlock() and renderBlockView()
Packages
📦 Filament
A collection of beautiful full-stack components for Laravel. The perfect starting point for your next app. Using Livewire, Alpine.js and Tailwind CSS.
📦 PHP RFC Vode
A community project for voting on PHP RFCs