Software development, agile methodologies and open source projects.
Category Archive — "php"
- Delay constructor execution by using ServiceManager lazy services
A couple years ago I wrote a post about how to improve PHP applications performance by using zend-servicemanager lazy services.
In that article I explained how the ServiceManager takes advantage of the proxy design pattern to delay the creation of services, when they are marked ...
- Demonstrating the interoperability and decoupling of Zend Expressive
I have written a lot of posts about Zend Framework in general and Zend Expressive in particular, but I have noticed that I have never talked about one of the things that, from my point of view, makes Expressive so game-changing, Interoperability.
In the past, PHP f...
- Mutation testing with infection in big PHP projects
There's no doubt that having tests in a project allows you to find potential bugs earlier and more easily.
Lots of OSS projects require a minimum code coverage in order to accept new pull requests from contributors, and proprietary projects also tend to have some sort of continu...
- AcMailer 7.0, the most important release in a long time
A couple hours ago I have released the seventh major version of a module I created more than 4 years ago.
Just released #AcMailer v7! 🎉Important improvements, with trully stateless services and support for Zend #Expressive.Adds support for #PHP 7.2 and drops PHP 5. #ZF3 #moduleh...
- Properly passing data from outer layers of a PHP application to the use case layer
Update 2017-10-18: After reading this article, I recommend you to read the comment from Rasmus Schultz. It is very clarifying, and might make you think twice if this is really the best approach.
Lately, I've been digging a lot in different ways of improving software archit...
- Reusing factories in Zend ServiceManager
I think it is doubtless that modern PHP embraces SOLID principles, and therefore, dependency injection.
That's why every modern PHP application needs a dependency injection container to deal with it.
There are several options out there, depending on the way you like to work. Ev...
- How to customize 'not found' and 'method not allowed' response prototypes in Zend expressive 2
Sometimes the nature of an application requires you to change the default framework's way to structure error responses (like 404 and 405).
On this article I'm going to explain how to customize those responses when working with Zend Expressive 2.
Expressive 1. Error handler.
- My thoughts after migrating some projects to Zend Expressive 2
The day Zend Expressive 2 was released I was super excited. I have been using it a lot for both professional and personal projects, so I'm quite used to it.
Since I've been using it in many projects, being able to update all of them to version 2 was a challenge, but I can say, I...
- Managing PUT requests with file uploads in psr-7 and middleware PHP applications
It has been a long time since I first realized that handling file uploads in non-POST requests (like PUT) wasn't an easy task.
One could assume the $_FILES array should be populated regardless the HTTP verb, but actually, PHP doesn't do it on its own.
After a long time wanting ...
- Run PHPUnit tests inside a docker container from PhpStorm
Docker is, without any doubt, the trending tool these days. Everybody wants to use it, because it is very useful, allowing to easily generate development environments for any kind of application.
A couple months ago I started working with docker myself (it has taken me a while, ...