When working on this article, I was thinking about real-life examples to explain asynchronous processing from scratch. In the end, I understood that there are too many examples and I can’t pick the most relevant one. Seriously, you barely can imagine a process in nature that follows a sequence or an organised queue. And asynchronous doesn’t mean chaotic.
Gamification is great, we all know that. What if we could apply the principle to help improve our source code, preferably with just one line in the terminal? Welcome to static code analysis with PHPStan.
Long-lasting software is probably everyone's dream, but it’s often not a reality. By using three simple methods, it is possible to create an architecture that keeps a stable and clear line throughout the project - and if something goes wrong, a mistake is noticed immediately. This article shows which methods these are.
Last year the new major version of PHP was released and although it brought many great new features, it was not very well received by the PHP developer world. Version 8.0 did not manage to convince developers to switch to a new version. Maybe PHP 8.1 will make it so – let us take a look at what's new.
One software bug regarding risk calculations caused 217 million dollars in investor losses. It was a mistake in basic decimal operations programmed by a software developer. This shows us how important and responsible is a developer’s job. Are you sure that you know how to avoid such mistakes in your own PHP applications?
Are you doing code reviews? No? Yes? In both cases, you won't have too. Just add a couple of YAML lines to your CI. I'm very grateful that Rector is getting traction lately. More and more PHP developers save dozens of hours by running simple CLI commands on their codebases. It's a lot. But you want more laziness, right? Rector can do much more without you even running it.
“First, do no harm” says the Hippocrates. As fault-tolerance experts we say “First, prevent any harm”. It is often said that all software faults are design faults. It easier to prevent the harm at design time. Fault tolerant system design and development techniques will allow developing sustainable 99 % reliable systems.
For the past 4 years, GraphQL has offered developers a compelling new way to think about your API. What does it change for us, PHP developers? In this article, we will see very quickly what makes GraphQL a special protocol. Then, we will have a quick look at the GraphQL landscape in the PHP land before diving in the details of GraphQLite, a framework-agnostic PHP library to serve a GraphQL API easily.
PHP 7.4 brings a lot of exciting new features. One of them is the Foreign Function Interface extension built directly into the core. But what problems exactly this extension is trying to solve? Does this mean that we no longer need to write a PHP extension if we want to use an existing library? In this article, we will discover how to call almost any C library directly from PHP easily, how to overcome common pitfalls, when to use this approach, and most importantly, when not.
When developing an application, our aim as software developers is to make sure it does what it ought to do and to keep the number of defects as low as possible. We should also strive to make our lives easier, to counter external circumstances like tight deadlines and ever-changing requirements causing the exact opposite. That’s why we’re always looking out for tools and practices to help us with our jobs.