In many articles, I mentioned many times about using GitHub Actions because they are a good choice for a lot of reasons.
Nowadays I can admit that there is another choice that I have explored and used a lot these days.
What I mean is the functionality of pushing your docker image through your GitHub Actions during your CI process.

Usually, when I want to publish my docker images to DockerHub, I need to do it manually by the command line, like this:

Building the image

docker image build -t organization/project:0.1.0 .

Publishing to DockerHub

docker push organization/project:0.1.0

It’s not…

As a developer, I try to automate and optimize all of my processes and workflow.

Sometimes it’s difficult to understand how you can optimize your work daily life, but for me, one of the best things that can help me a lot is sharing and discussing my ideas, my thoughts, my approaches, and my code with other developers.
Sharing and discussing your leaks with other developers can open your mind to new approaches and fixes.

Every time I try to talk to other developers about a problem, or a doubt, usually, in the end, I feel more conscious about the…

I have heard a lot of times: “Don’t deploy on Friday!

Well, I understand why, but I disagree with 99% of the cases.
To understand my point of view, I would like to share some concepts about software.

I am always trying to create quality code and when I start to work on a legacy project or a starting project, usually I ask the team:
How often do you deploy the software?

Many times when you talk about deploy with developers you can see fear on their faces because sometimes deploying an application can be complicated or very delicate.


I have been working on many Symfony projects in my career and one of the most common problems where customers call our company is that their software is blocked in the old framework version, or they are not maintainable because it costs a lot to find and fix bugs.

Usually, I try to understand well why those legacy projects are in that state. And often I have found a common pattern: the team at the beginning of the project needs to create an application from zero in a rapid way because there is a strict deadline. …

In the previous article, I’ve shown the deploy of a Symfony application on AWS Lambda.

Now I want to deep down on the deploy, talking about tmp folders and environment variables, explore how trigger deploy from events and show you some use case and scenarios.

Let’s start!

Symfony tweaks

Pay attention because AWS Lambda filesystem is in read-only mode, only the tmp folder is writable. So you need to move log, cache and uploaded files into some other places.

This is a cache example where I have checked the environment variable LAMBDA_TASK_ROOT to understand if the function is running on a Lambda…

When I first heard the word Serverless I thought I would soon lose my job. No more servers, no more code, no more work to do, it’s simple, isn’t it?

What happened instead is that, like all other back-end developers, I have a new tool to do my job better.

In this article, I will briefly explain what Serverless is and what advantages it brings us. We will see the Bref library and how to deploy a Symfony application on AWS Lambda.

In the next article I will go into the details of the deployment, analyzing the various components involved…

Many times you may like to use your personal private library in another project.
For example, you may have many private projects that share a common library that can’t be open source for your business.
You can use Packagist and pay to have a private repository or you can use Bitbucket with its FREE private repositories.

To include your private Bitbucket repository via Composer you need to add this lines into your composer.json:

“type”: “vcs”,
“url” : “”

VCS stands for version control system. This includes versioning systems like git, svn, fossil or hg. …

Many times in your application you have a login system based on JWT Token.
At a certain moment you need your application to be able to answer to a rest api request made by another application. So you can give the possibility to login with the JWT Token to it but it’s not safe.
So you need to implement an api token authentication for your application but this means that your application has to manage both authenticators: JWT and Api Token.

Well, how can you use both authentications systems?

First step is to make the first authenticator work as if…

Symfony 4 is the newest version of the one of the most famous PHP frameworks.
It has been released on the 30th of November 2017 and it’s having a great success!
One of the biggest difference with the older versions is the presence of very small dependencies installed when you init your Symfony 4 project.
Symfony 4 is so tiny that Silex project has been dismissed.

How to Install Symfony 4

In order to create a new Symfony 4 application you need to have PHP 7.1 or higher and Composer installed.
With Composer installed you can create the project launching this command into your console:

PHP 7.2 has many features about security, implementations and deprecated functions.
In addition, it introduces a performance increase (already in version 7 it was done a great work): PHP 7.2 is 20% faster than version 7.0 and 10% faster than version 7.1.

Here’s all the highlights offered by this new version.

Type hinting argument

Since PHP 5 it was possibile to specify the argument type passed to a function.


class SimpleClass {
public $foo = ‘bar’;
$simpleClass = new SimpleClass;function test(SimpleClass $simpleClass){
return $simpleClass->foo;
echo test($simpleClass);

Since PHP 7.1 if it was passed a non SimpleClass type value to…


Software developer @Flowing

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store