Event loop using Fibers (aoeex.com)
A good article on implementing an event loop in PHP using the built-in fibers.
A good article on implementing an event loop in PHP using the built-in fibers.
I finally took a look at writing a custom live template with PhpStorm. I've used them several times to automate scaffolding a foreach statement or other random suggestions that a Tab keypress leads to automated scaffolded code. But I never really dove in to see how they work or could be customized. Then, I had to fix some of my...
One of the most important soft skills we can have as developers is being able to communicate how our code works. Other developers can dive into your code to see how it works, but this can be time-consuming, and your stakeholders most likely won’t be able to. What we need is some way to communicate […]
The famous phploc package to measure project size was archived by Sebastian on Jan 10, 2023. I used this package to get feedback on CLI apps vendor shrink and for fast estimation of project size in Rector upgrades. That's why I needed a replacement. Fast!
A new way to provide input on PHP RFC votes.
I don’t need to tell you, but as developers, bugs are a constant challenge. We can do everything in our power to test the code that we’re writing as we’re writing it. But that’s just not good enough. That’s because our changes affect other people’s code in ways we can’t expect, and their changes affect […]
The article title is a little clickbaity, but basically, Doctrine and Symfony documentation don’t mention that you can use constructor almost anywhere in the documentation.
Here are some words of caution on the implication that the heavy use of mocks in your code base can have regarding the overall system design or architecture.
A while ago I made this Symfony bundle that automagically memoizes your service methods using a PSR-6 cache....
I have a couple of open-source CLI apps like Rector, ECS, Class Leak, Config Transformer, Monorepo Builder and Lines, and private ones like Cleaning Checklist, Fixai, Private Rector and Entropy. All of them run in the command line, and some of them are downgraded to PHP 7.2. In every project, there is the rule, the fewer...
Welcome to the July edition of PHP Annotated! We'll recap the most interesting developments in the PHP community over the past month, featuring handpicked news, articles, tools, and videos. Highligh
A tale of unusual exploitation in Web Application
Now you can go nuts with all the bots you can think of!...
When writing custom rules for PHPStan, developers can either return plain strings or RuleError instances.
Introduction In PHP development, selecting between static and non-static methods holds...
How you can enable extensions in PhpStorm so you get working autocomplete on them.
My projects all use DDEV for local development. Regarding end-to-end testing, as part of my continuous integration process, I also use DDEV! This way, my scripts for running Cypress are the same locally and in my CI. Leveraging DDEV in your CI is especially useful if your project has multiple domains, which is harder to...
When I want a typed object, I need to create a class in a new file, and give it a name. (While technically not required, one class per file is highly recommended to work well with tools and IDEs we have to our disposal.)...
This build brings improvements for generating PHPDocs, support for Laravel Pint, a single point of access to all PHP framework plugins, and much more!
Insights in PHP's version usage
At JoliCode we were early adopters of Docker (since late 2013). When we discovered it, we strongly believed that this tool would fit perfectly in our dev environment and allow teams to work under the same clean and reproducible environment. However, like each new piece of software,
When event sourcing, the stream of events is your source of truth where all data is derived from. A promise often made in event sourcing pitches is that you can destroy your data and rebuild (replay) it at any time. In my experience, it’s a lot more nuanced than that.
The next EAP build for PhpStorm 2023.2 is now available, and it’s an exciting one! It is the first build to include features leveraging the enormous potential of generative AI and large language model
The Joomla Project is pleased to announce the release of Joomla 5.0 Alpha2