Fork me on GitHub

Jeff Php Framework

Jeff is a modular, extensible, OOP, MVC, lightweight php framework designed to ease the programmers in the development of web applications.

Designed for a database driven programming experience, ensures an indisputable rapidity in development thanks to its auto-generated back office functionality.

Modules and plugins

Jeff has been written respecting a modular architecture that makes it very easy to extend the functionality of the system, write new modules etc...

The possible extensions are divided into two families: modules and plugins


The modules are groups of classes that includes (typically) a controller and one or more models. The modules are written in some way to handle data that are stored on the database.

The controller is the one who takes care of the module interface, and then exposes the public methods which can be accessed by url. The model however, is the class that represents the data in the database and takes care of reading and writing data. Soon will be available some tutorials that explain step by step how to build a module for Jeff, for the moment it is recommended to start with a module already in the base package and modify it to meet the request.
Check out the new tutorials available in the documentation page.


Plugins are classes that can be added to Jeff to provide additional functionality. The plugin does not expose any contents, rather make it available to other classes some functionality and additional methods. For example the form class can be extended by writing plugins that can be used to manage "special" fields, such as fields of type tag. For more information on how to install and manage the plugins see the developer's wiki.

Modules and plugins list

Currently several modules are under development, and one has already been released, look at the following list (for now mono-item) of the modules available.


Versions 1.21 and below are not yet supported by Jeff v0.99!

jeff-flatpage is a jeff module that lets you store simple "flat" HTML content in a database and handles the management for you via jeff’s admin interface.

Use it for one-off, special-case pages, such as "About" or "Privacy Policy" pages, that you want to store in a database but for which you don’t want to develop a custom Jeff module.

The module is provided with english and italian translations, and a mysql statement for the table creation. Media (images, videos) may be added to the page content, whose access may also be restricted to some system groups.

The access to backoffice administration is restricted to users having the flatpage admin permission.