Application Instrumentation with Aspect Oriented Programming in PHP
– medium.com - submitted by Vasily
A nice introduction to AOP in PHP, with a focus on performance, with a lot of benchmarks.
Read more [medium.com]
– medium.com - submitted by Vasily
A nice introduction to AOP in PHP, with a focus on performance, with a lot of benchmarks.
Read more [medium.com]
Did you know modern browsers can lazy load images out of the box? Laravel-medialibrary now supports this too.
Read more [addyosmani.com]
Join 9,500+ smart developers
Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.
No spam. Unsubscribe anytime. You can also follow me on X.
"Always fresh, useful tips and articles. Carefully selected community content. My favorite newsletter, which I look forward to every time."
PHP 8’s Just In Time compiler is implemented as part of the Opcache extension and aims to compile some Opcodes into CPU instructions in runtime. Nickolas Da Silva explains how it works.
Read more [thephp.website]
– stefanzweifel.io - submitted by Stefan Zweifel
Stefan Zweifel recently had to refactor an Excel export which deals with thousands of rows. Lazy Collections helped solve all performance problems.
Read more [stefanzweifel.io]
Our spatie/laravel-event-sourcing package is probably the best starting point for event sourcing in Laravel. It has excellent docs, that explain event sourcing from scratch, support for aggregates, projectors, and much more! It's all beautifully integrated in Laravel.
Recently we released v3 of the package. In this blogpost I'd like to walk you through the changes.
– www.websitecarbon.com - submitted by Brent
How is your website impacting the planet?
Read more [www.websitecarbon.com]
Joe Watkins compares the execution speed of PHP 4 against PHP 8. It's amazing how far PHP has come.
Read more [blog.krakjoe.ninja]
Yan Cui explains a feature called "Provisioned concurrency" that Amazon recently launched
Read more [lumigo.io]
Did you know that the null coalescing assignment operator in #PHP 7.4 can be used to make memoizing stuff a little more clean? pic.twitter.com/SWWJEXQBLx
— Brent (@brendt_gd) January 16, 2020
Read more [twitter.com]
Nikita Popov discusses some low level performance optimizations in PHP.
A while ago, I created an easy to use framework agnostic PHP package to read and write CSV and Excel files called spatie/simple-excel. Behind the scenes, generators are used to ensure low memory usage, even when working with large files. Today I added a method that allows you to stream CSV files to the browser. In this small blog post, I'd like to demonstrate how you can use it.
My buddy Mattias recently improved the performance of the Oh Dear uptime checker servers by disabling the HTTP sessions.
If you run a Laravel application purely as a headless API, you can benefit from disabling the HTTP sessions. We use this setup for our Oh Dear monitoring service, where the remote servers that check for uptime are all headless Laravel setups.
Read more [ma.ttias.be]
My colleague Brent solved a performance by creating a custom relation
One last solution that came to mind was to load all people, all contracts, and map them together manually. In the end that's exactly what I ended up doing, though I did it in the cleanest possible way: using custom relations.
Read more [stitcher.io]
? Did you know you can add query-constraints when eager loading relationships in Laravel?
— Stefan Zweifel (@_stefanzweifel) November 12, 2019
Perfect opportunity to improve query performance when your relationships return thousands of models.
↳ Full example: https://t.co/RsezzpkWoC pic.twitter.com/nwjC7U8Oqa
Read more [twitter.com]
On the Tideways blog, Benjamin Eberlei explains PHPs garbage collection internals.
It's helpful to have a broad understanding of how garbage collection works in PHP, along with how you can interact with it so that you can create high performing applications.
Read more [tideways.com]
Adam Wathan explain how can avoid re-rendering the entire UI everytime you click a link in Next.js
Next.js is such a wonderfully productive development experience and produces such incredibly fast websites that I just refused to believe it had to be this way. So I spent a few weeks researching, asking questions, and experimenting, and came up with these four patterns for persistent layouts in Next.js applications.
Read more [adamwathan.me]
Mathias Hansen shares how API response time data is used at Geocodio and how to work with this kind of data in MySQL.
The API is the backbone of our business, so over the years we have continously worked to improve and ensure consistent performance. We look at many parameters such as uptime and error rates, but one of the key metrics is API response time. This is how we use this data.
Read more [www.codemonkey.io]
Sebastian De Deyne explains how the live updating on Oh Dear status pages works.
We were originally going to use Vue for the pages, so we could make the entire view reactive so we could easily fetch and update data with AJAX or websockets. I started building the status page view, but quickly became hesitant about the decision to use Vue. It didn’t feel like the right tool for the job.
Read more [sebastiandedeyne.com]
About a year ago, we released laravel-event-projector. It focused on adding projectors, an important concept in event sourcing, to Laravel.
After the release of the package, we continually kept improving it. We added aggregates, a way to test those, a brand new section in the our documentation that explains event sourcing from scratch, and DX improvements all across the board.
We now feel confident that the package is a good starting point for getting started with event sourcing in Laravel. That's why we're renaming the package to laravel-event-sourcing.
? If you need to process a lot of models, don't load them all into memory, but chunk them.
— Freek Van der Herten ? (@freekmurze) August 21, 2019
Laravel has a beautiful `each` method for this.https://t.co/cVWdpsGtQ1#laravel #php pic.twitter.com/ISW7XQcehx
Read more [twitter.com]