02-06-2010

Developing a custom PHP Framework MVC based

The Company Panaworld was thinking about the new times and decided to abandon the old model of building static sites. The idea was to start building 2.0 websites where the users could interact and have social media features. This required a new model of work in the company. In the past, we used our tool Panagen and it was fine but now we required something else.

In 2010 there wasn't many frameworks like today, so we decided to create our own PHP framework, minimalistic and MVC model view controller based. The basic features it had:

  • Bootstraping all the requests from the webserver into an entrypoint.
  • Router system in order to send the url requests to their proper controller, or the 404 controller.
  • Classes/objects for managing the database STORAGE.
  • REST API support.
  • Multilanguage support.
  • Caching system in memory or disk in order to cache db queries.
  • Executing an internal route from the terminal.
  • Classes/objects in order to manage pagination.
  • Classes/objects in order to manage the separation of concerns MVC.
  • Classes/objects in order to manage the controllers.
  • Classes/objects in order to manage the views.

And... more things, like adding analytics with ease, compress html, configuring load servers, etc. Everything that could be reusable and useful for the other sites.

Some PHP classes involved on this project ragnet-php-classes

Demo code app class Código demostración

Demo code Terminal class Código demostración 2

The development process of this framework was done using Pair Programming so two people at the same time were involved. I have to say that it was very nice to work and try Pair Programming, it's a recommended way for building critical things that could break with ease. The ideas and decisions flowed fast, the stupid mistakes were spotted at the moment so there was almost no bugs in this code. It felt so productive!

Disclaimer: This project is confidential. As a result, I am unable to provide access to the complete source code, but I can share images or small code snippets for demonstration purposes, with the owner's permission. However, if needed for an interview, I may be able to grant access to the private repository where this code or a copy of it is stored.
  • php
  • mysql
  • solid-development
  • ragnet
  • pair-programming
  • web-development
  • private-project
  • company:panaworld

Contact Me

Do you have any questions? I'm from Barcelona. Below you'll find different contact options.

Status: I'm currently working 100% remotely as a Full Stack Developer, but I'm also open to opportunities that will help me grow my career.

contacto@danieldev.es

This PWA has been created by Daniel Domínguez Rubio using technologies such as: React, Gatsbyjs, GraphQL, Nodejs, AWS S3, and Cloudfront.

v1.11.0