@Terabytesoftw Also check out Buggregator. Not a package — a standalone server. Your app literally doesn't know it exists. Just redirect your existing Sentry/VarDumper/Monolog SDKs with one .env change. Free, open source. https://t.co/OkXT1T9riw
It's Friday once again! Another great week of content. It was also the first Laravel London since it's reboot, the event went really well and we cant wait for the next one.
So lets get down to the top ten @laravelphp and @official_php things I've found this week.
In 🥇 place this week we have @ButscH "The memory pattern every PHP developer should know about long-running processes" - This was a great post on how PHPs memory allocation works and how that now PHP is being used a lot more for long running process we can start to design our code to help fix some of the problems that can happen with long running PHP process and memory allocation this is particularly useful for things like Laravel Queues - https://t.co/dYWfKrOf7n .
In 🥈 place this week we have @davidhemphill with "Using the Decorator Pattern in Laravel" - Another great post outlining another design pattern we can use in our PHP applications. The decorator pattern is one we have used a few times at jump24 and we can see the benefits of using. David highlights some great examples of where and when it could be applicable in your codebase - https://t.co/JQcOFuZgnL
In 🥉 place this week we have @CodeWithKyrian with "PHP Fibers: The Missing Piece for Elegant Cooperative Multitasking" - We’ve had Fibers in PHP since 8.1, I’ve yet to use them so this post was a good read for me. Kyrian talks about Fibers in PHP he goes into detail showing examples of using Fibres and how it works so if Fibers have interested you and you've not had a chance to use them give this a read - https://t.co/eEjaeGi4vI
🥇 @ButscH - "The memory pattern every PHP developer should know about long-running processes" - https://t.co/dYWfKrOf7n
🥈 @davidhemphill - "Using the Decorator Pattern in Laravel" - https://t.co/JQcOFuZgnL
🥉 @CodeWithKyrian - "PHP Fibers: The Missing Piece for Elegant Cooperative Multitasking" - https://t.co/eEjaeGi4vI
4️⃣ @BurtDS - "A Guide to Laravel Queues: Building Scalable, Performant Applications" - https://t.co/xvBATJZ6az
5️⃣ James Seconde - "Monitor Your Webhooks with Laravel Nightwatch" - https://t.co/MLKgTJPu7k
6️⃣ @JohnONolan is this weeks Customer story over on the Laravel blog - "14M Requests, 1 Engineer: How Ghost Runs a 50,000-Site Directory on Laravel Cloud" - https://t.co/eDDDrijaVv
7️⃣ @carlos_granados - "https://t.co/5UKuNco89y" - https://t.co/lqE8bJnUVV
8️⃣ @ollieread - "Manual Service Resolution in Laravel" - https://t.co/RnJlej5DCe
9️⃣ @nicodevs - "Build Your Own Private, Self-Hosted AI Applications with Ollama & Laravel" - https://t.co/Z152uliywz
🔟 @harrisrafto - "Static Analysis Secrets - Laravel In Practice EP13" -
That's it for this week hopefully there is something there for everyone to enjoy reading. Don't forget to tag your posts with #PHP or #Laravel for a chance to be in next weeks top ten.
Thanks for reading and let me know in the comments what your favourite read is or what you might have found this week.
🚨 10 users clicked "Download" and our entire PHP site died for 2 minutes. The problem? Workers blocked by long-running builds. The solution? A #roadrunner middleware plugin that offloads heavy ops to Go while #PHP stays responsive.
https://t.co/ZOsO1543gq
Recently I needed to build a console UI for one of my #PHP applications, so I decided to recreate classic midnight commander vibe, fully compatible with #Symfony Console and any PHP framework.
#laravel, #spiral, #yii
Drop your ideas about desired extensions in the comments!
🚀 New release: spiral/json-schema-generator v2.0
Generate JSON Schemas straight from DTOs.
Best solution for #Valinor (Thanks @Rommsteinz) users & #PHP LLM agents.
👉 https://t.co/vcUzHZjicG📖 Updated README with fresh examples & docs.
What if #PHP apps didn’t have to block on HTTP calls to @getsentry? 🤔
Imagine sending events through #RoadRunner asynchronously, with retries, batching, and zero overhead for your workers. Like this https://t.co/p2WHSghk4v
👀 “Wait… Temporal powers @OpenAI's async workflows?”
Yes, really.
OpenAI uses Temporal to run complex, multi-step workflows reliably at scale. If they trust us to keep things running, imagine what we can do for you.
👉 https://t.co/zYeVaeXlqq
@rmcdaniel_@temporalio@OpenAI Here’s a post about RoadRunner and what it brings to Laravel developers and how it can help you build real distributed systems:
https://t.co/lQ1DU7B3iD
It’s not just for fun — it’s about building real, scalable systems.
@rmcdaniel_@temporalio@OpenAI A PHP package — even with all the GitHub stars — can’t magically offer durability or reliability.
It’s just stars, not guarantees.
The Temporal team spent over 20 years building what it is today — and it delivers much more than popularity.
@rmcdaniel_@temporalio@OpenAI One more thing — I couldn’t find a way to manage retry policies for workflows. If a workflow fails, there doesn’t seem to be a built-in way to retry it.
@rmcdaniel_@temporalio@OpenAI 4/ Scaling Limits
As you scale up, so do the connections and contention. This makes it harder to scale efficiently and predictably.
@rmcdaniel_@temporalio@OpenAI 1/ Laravel Workflows use the traditional PHP queue system — which is simple, but comes with a few architectural trade-offs worth keeping in mind 👇
@rmcdaniel_@temporalio@OpenAI 3/ Task Distribution
Workers compete for tasks by polling the broker independently. This can cause uneven task handling and wasted resources.
@rmcdaniel_@temporalio@OpenAI 2/ Connection Management
Each PHP worker opens its own connection to the queue broker. More workers = more connections = more load on the broker.
@rmcdaniel_@temporalio@OpenAI I think calling it “fairly compatible” might be a bit of a stretch.
Copying some class names and a few method signatures doesn’t make it truly compatible — the SDKs are quite different in how they work and what they offer.
@rmcdaniel_@temporalio@OpenAI I tried running 600 parallel workflows with a 1-minute Sleep, and it ended up triggering after 9 minutes. That kind of delay is hard to manage without proper infrastructure.