Dependency injection.... on steroïds!
Mouf is an open-source PHP framework providing an easy way to download, install, use and reuse components, with a graphical user interface.
Get started!
The idea

In the heart of Mouf lies a Dependency Injection framework. You might have heard about Dependency Injection. Most developers will tell you that Dependency Injection is good, because it reduces the dependencies between components. This is true. They will also tell you that the main interest of Dependency Injection is easier unit testing. And most developers will struggle with huge XML files declaring the dependencies. Basically, they trade a better design for a complex dependency management.
We, Mouf developers, believe something went wrong. Dependency Injection should not be about Unit Testing, and it should not require huge dependency files! Dependency Injection is about having well defined components. If you had such components, building your application should be the same as playing with Lego bricks! Building an application should be about reusing existing components, and only adding a few new ones that are the core of your application. We believe that tying those bricks together should be done graphically using a nice user interface.
So we decided to create Mouf. Mouf is a PHP framework providing an easy way to download, install, use and reuse components, with a graphical user interface.
Mouf also provides a bunch of additional features like:
Core packages list
Mouf is only the core of a reusable set of packages that will help you build your PHP applications quickly. The list of package below is only a subset of all Mouf packages. We call this subset the "Core Mouf packages", but there are many other packages available (more than 100). Check out the full packages list.
- Splash
- A components-based MVC framework
- Base template
- A base templating class you can extend to provide your own templates
- Splash template
- A simple template class to get started
- Mouf template
- The template used in the Mouf interface. You can use it for your own project if you wish
- FINE
- An internationalisation package offering a nice graphical interface inside Mouf
- LogInterface & ErrorLog Logger
- Mouf comes with an advanced logging system. Depending on the package you use, you can log requests to the PHP error log, receive a mail automatically, or log errors in database, ...
- Advanced logger
- The ultimate logger. Stores in database, computes statistics and sends report mails.
- DB Connection
- Components to access your database
- TDBM
- A database ORM to directly map you database into objects and Mouf components. TDBM will guess your queries based on the database model!
- DB Stats
- A package to compute statistics from your database. It can transform your MySQL database into an OLAP database and use triggers to keep statistics up-to-date.
- Base Widgets
- Contains a set of components that can be used to render HTML. This package is especially useful to render forms.
- /html/widgets group
- The /html/widgets group contains many useful packages. Some can render datagrids, others advanced HTML widgets (sliders, captcha, menus, etc...).
- Smtp Mail Service
- Send mails easily with this composant based on the Zend Framework mail classes. Easy configuration with possible presets to send your mails through Gmail if you don't have a SMTP server.
- Cache subsystem
- Use the cache subsystem to put data in cache. There are many packages depending on the cache backend you use: APC, Memcache, Redis, a simple file-based cache ...
- User Service
- A basic service to manage user login and sessions. Database agnostic.
- Rights Service
- A basic service to manage user rights. Database agnostic.
- Druplash: Drupal integration
- Using Druplash, you can integrate Mouf and the Splash MVC framework into Drupal. This means having a nice MVC framework and object-oriented programming right into Drupal!









