MVC design pattern php

The MVC (Model View Controller) is a popular design pattern for organizing website code by separating logic from display.

PHP is one of the most used language for server side development.

Easy to use rooting system

No need to create routes in a dedicated file, just create methods in the controllers and the routing system takes care of finding the right route from the arguments in the URL.

It's easy to understand, easy to use and therefore quick to implement.

Integrated debugger

There is an integrated debugger for the development phase, so it's faster to find where the code error comes from.

Twig template engine

Twig is a templating engine that facilitates the display of data, if a data is not found, no blocking, it just displays nothing.

Twig is easy to use for both front-end and back-end developers, there is good online documentation and a large user community. It will therefore be quite easy to find answers to your integration problems.

Twig is natively secure, no need to secure its forms anymore, code data is automatically disabled when displayed.

SQLite and MySQL easy configuration

Voila includes a SQLite database by default, and it is very easy to configure a database for Mysql (or MariaDB) all you have to do is enter the connection data in the file configuration and change the database selector.

Flash message system

There is a flash message system which makes it easy to notify the user of successes (or otherwise) in processing data. Messages are stored in session and displayed automatically the next time a page (whatever it is) is displayed.

CSRF token protection system

forms can be protected with a token system against CSRF attacks. There is an example usage in the ItemController (and associated view/Item folder)

Little things make life easier

Redirection function, automatic provisioning of session data in twig, and others little facilities make your development life better.

The framework is easy to launch, quickly fonctionnal and easy to learn.

Check the docs to learn more