Create a Fullstack Blog with plain PHP with advanced features.
A series of articles to create a Fullstack Blog with plain PHP with advanced features, like Routing, Middleware, Database, Authentification & Authorization.

Create a Full-stack Blog with vanilla PHP — Intro
Create a Full-stack Blog with vanilla PHP & TailwindCSS for styling. - Brief: This project focuses heavily on the PHP and the Back-end. The main goal is to enhance our skills and gain a deeper understanding of how things work. In the real world, there are frameworks that handle the job with the support of dedicated team...

Vanilla Blog — Part 1 | Basic Router
Create a basic router to lay the foundation of an advanced Router. - Other Parts: Intro By default, PHP routing follows file-based routing, where URLs are structured as /page-1.php. However, the custom router we will develop will enable a cleaner URL structure such as /page-1/subpage. This system will also allow us...

Vanilla Blog — Part 2 | Controllers
Create controllers to handle route logic and rendering - Other Parts: Intro Basic Router In the previous article, we covered handling simple routes with basic functionality, specifically for GET requests. Now, it's time to enhance our router to handle multiple HTTP methods. Before diving into that, le...

Vanilla Blog — Part 3 | Advanced Router
Create a full-featured router with plain PHP. - Other Parts: Intro Basic Router Controllers Having covered the basics of routing, views, and controllers, we can now focus on refining our router to address its current limitations. There are two primary issues with the existing router: It can...

Vanilla Blog — Part 4 | Autoload & Namespace
Understanding Autoload and Namespaces in PHP - Other Parts: Intro Basic Router Controllers Advanced Router In PHP development, managing large projects with numerous classes and files can become challenging. However, two powerful features, autoload and namespaces, come to the rescue. Autolo...