- 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. In Expressive 1, error ha…
category Archive — "php"
— 2017 —
- 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 have succeeded :-) T…
- 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 to find a solution to …
- 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, I know), and now I ca…
— 2016 —
- Creating a content-based Error Handler for Zend Expressive
The other day I was working on a Zend Expressive application I'm currently building. The application includes a REST API among other things, but it also has some endpoints which render HTML. In one of my tests of the REST API I saw that when an error occurs (404, 405 or 500), I was getting an HTML r…
- Project Scalability with Zend Expressive
I've been working with some different frameworks lately. One of them is Zend Expressive, and I've come to the conclusion that I don't need to choose between different frameworks; depending on the project, Expressive always fits my needs and scales from small projects to bigger applications. The Micr…
- Dispatch REST-like requests with a single controller class in Zend Expressive
I was digging into Zend Expressive and how to use controllers that allow me to share dependencies between different routes, instead of having to use different middlewares every time. Abdul wrote a great article on this subject that you can find here, which also became part of Expressive's cookbook s…
- Using ServiceManager 3 lazy services to improve your PHP application performance
Performance is an important subject when a project grows. There are some good practices that make projects more maintainable, like dependency injection, however, creating all the objects at the beginning of the request could reduce the application performance. If some of the created objects are not …
- Improving Zend\ServiceManager workflow with annotations
Everyone who regularly visits my blog knows that I'm an absolute fan of the Zend\ServiceManager component. It is always my choice to deal with dependency injection in any kind of project, more now that v3 has been released, which is faster and has a better public API. The workflow while working with…
— 2015 —
- Improve dependency injection in PHP apps with Zend Framework plugin managers
I have spoken many times at this blog about dependency injection, and how the ZF2 ServiceManager is one of the best tools to solve it. You can read these related articles to know more: How to properly use the Zend framework 2 service manager as a dependency injection container Advanced usage of Ser…