/mouf

The Mouf PHP framework: an open-source PHP framework providing an easy way to download, install, use and reuse components, with a graphical user interface.

Primary LanguagePHPMIT LicenseMIT

Mouf 2: Dependency injection... on steroids

Latest Unstable Version Total Downloads License

What is Mouf?

Mouf is a PHP dependency injection framework with a nice web-based user interface.

Why Mouf?

Dependency injection solves the spaghetti code problem by externalizing all the instances declaration into a configuration file. But soon, this file becomes a spaghetti configuration file.
Mouf solves that problem by providing a nice web-based UI to edit your file.

By solving that problem, Mouf opens a whole new world of possibities where most of your application is declared using a user interface instead of written in pure PHP code.

Want to learn more about dependency injection? Check out the dependency injection guide.
Want to see Mouf basic principles in action? Check the introduction to graphical dependency injection video.

Getting started

Mouf is at the same time a graphical dependency injection framework (the core of Mouf), and a full featured web-framework with hundreds of packages available.

  • If you are interested in Mouf's core dependency injection framework, stay here! You are at the right place.
  • If you are interested in the global Mouf ecosystem, the MVC library, the database layer, etc..., you might want to start by having a look at the main packages chart or at the Getting things done with Mouf project. This is a kind of "distribution" of the most common libraries used with Mouf.
  • You can also be interested in extending your existing project with Mouf. Mouf integrates easily with Wordpress, Drupal, Symfony 2, Silex, Doctrine or any project compatible with the container-interop project.

Installation

Mouf 2 is provided as a Composer package. The name of the package is mouf/mouf. Follow the installation guide to learn more.

Classes

Each class can be injected using the Mouf dependency injection features. Because it is graphical and easy to use, you can push dependency injection to new limits. And if you want a nice graphical representation, you can add annotations to your code to add custom logos for your classes, etc...

To learn more about using dependency injection, please read the Dependency Injection guide.

Packages

Mouf provides a user interface to help you manage your composer dependencies. Using an extension to the composer.json file format, you can extend the Mouf user interface to add features to help your developer.

  • You are developing a cache package? Add a "Purge" button in Mouf UI to let your developers purge the cache
  • You are developing a database connection? Add a screen to create a new database connection, etc...