CodeIgniter 4 – Step 2: Installing CodeIgniter in Docker containers

In the previous article we’ve set up the infrastructure that will hold our CodeIgniter application. In this tutorial we are finally going to really install CodeIgniter 4. I promise!…

If you never had the chance to follow the previous tutorial on how to build the Docker containers, or if you don’t have the nerve of following it, maybe it would be faster for you to simply clone the repository I’ve set up on Continue reading

CodeIgniter 4 – Step 1…b?: Start development fast? Why kill yourself with Docker or XAMPP? Use Laragon!

Having in mind that what you code is going to enter into production, the best solution is indeed to use Docker containers. So, if you want to really do coding, try my previous two tutorials: CodeIgniter 4 – Step 1: Let’s make ourselves some Docker containers and CodeIgniter 4 – Step 2: Installing CodeIgniter in Docker containers.

But if, by any reason you simply want to start writing, the best solution is to install Laragon, because, in my opinion is the best WAMPP (XAMPP solution), and at the same time, the best MEAN stack starting point. Continue reading

CodeIgniter 4 – Step 1: Let’s make ourselves some Docker containers

Hello, people. Long time, no tutorial…

I was thinking the other day about this thing called docker containers, and after all this time I still f***ing hate the idea of having this new stack over our main interest, the programming part. Why do we have to bother ourselves with these kind of problems, when we don’t even know how to program properly. Anyways…

Every time I want to start working with the “new” CodeIgniter 4 (it’s not so new, as it was launched quite some time ago), I have this big wall called “Docker containers”, even though it is not mentioned in the documentation, and it is not really necessary.

But, even though it is not necessary, let us be prepared for the deployment part when the project is done. So in order to be prepared for production let’s start by launching the project the right way. Continue reading

How to set up CodeIgniter in order to use Gmail for emails

Now and then and… every time… I see people complaining that the email library of CodeIgniter doesn’t work. Why? Because they are using Gmail in order to send emails. And they are shocked that it doesn’t work. But in order to use Gmail as an email sender from your CodeIgniter, you have to know a couple of things. Continue reading

Login (and register) with Facebook and Ion Auth

A lot of people asked (including a very generous donor called Federico), so why not try to do it?

I must start by telling you that this may not be the best way of doing it but it is a basic one…

So let’s start. In order to start doing our Facebook login we first need to take a look at the documentation from Facebook ( This documentation says that in order to login with Facebook we first need to set up an “app” with an ID and a secret key ( We do this by going to our App Dashboard ( In there we can create a “Demo” app, which is good for our testing needs. Continue reading

Meet Tusker – a small task manager for your projects

Hello again. I would like to present to you a small project I am working at. It is called Tusker, is made using CodeIgniter 3.x, and it is a simple task management web app. I sure hope you give it a try and tell me about new things to add to it. The Github repository can be found here:

Continue reading

“Why develop a web app with CodeIgniter in 2016?”

This question was proposed as a subject by one of this blog’s visitors. It is indeed a good question, especially considering that “CodeIgniter remained way behind other frameworks”.

So let’s think a bit about why would we use an “aged framework” when we have great frameworks like… and here the typical example is Laravel. Continue reading

How to make “truly” SEO friendly URLs in CodeIgniter (without “duplicate content” on underscore URLs)

I promised myself I won’t do anymore tutorials regarding CodeIgniter until a new version is about to appear, but I can’t help myself. And this subject seems more than appropriate for a new tutorial.

Let us start with the beginning. In routes.php (application/config/routes.php), we have a configuration parameter called “translate_uri_dashes“. If we set this parameter to TRUE, the CodeIgniter framework will translate the dashes (“-“) in our urls into underscores (“_”) when calling a controller or a method. This, of course is what we want in order to have “SEO friendly” URLs (although I think it’s strange that up until this moment, search engines can’t interpret an url). Continue reading