PHPackages                             mouf/integration.joomla.moufla - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. mouf/integration.joomla.moufla

ActiveMouf-library[Framework](/categories/framework)

mouf/integration.joomla.moufla
==============================

A MVC framework for Joomla based on Mouf and compatible with Splash MVC

2.0.x-dev(10y ago)1461MITPHPPHP &gt;=5.3.0

Since Nov 7Pushed 10y ago17 watchersCompare

[ Source](https://github.com/thecodingmachine/integration.joomla.moufla)[ Packagist](https://packagist.org/packages/mouf/integration.joomla.moufla)[ Docs](https://mouf-php.com/packages/mouf/integration.joomla.moufla)[ RSS](/packages/mouf-integrationjoomlamoufla/feed)WikiDiscussions 2.0 Synced 1mo ago

READMEChangelogDependencies (7)Versions (2)Used By (0)

Moufla: a new generation MVC framework for Joomla
=================================================

[](#moufla-a-new-generation-mvc-framework-for-joomla)

[![Moufla_logo](logo.jpg "Moufla!")](logo.jpg)

Why should I care?
------------------

[](#why-should-i-care)

Moufla is a **MVC framework for Joomla**. Actually, it is a bridge between [Joomla](http://joomla.org/) and the [Splash MVC framework](http://mouf-php.com/packages/mouf/mvc.splash/index.md)used by [Mouf-PHP](http://mouf-php.com) (a dependency injection based framework).

Moufla offers the following features:

- **compatible controllers**, declared through a nice graphical DI container
- **PSR-7 compatibility**: your controllers can take into parameter `Request` objects and respond `Response` objects that are compatible with the [PSR-7 HTTP Message interfaces](http://www.php-fig.org/psr/psr-7/).
- use of **annotations** in your controllers (for instance: `@URL` to declare a new route, `@Logged` to restrict access to logged users, etc...)
- support for any kind of **views** supported in Splash MVC (this includes plain PHP files, [Twig templates](http://twig.sensiolabs.org/), etc...)
- a [nice web-based UI to scafold your controllers and views](http://mouf-php.com/packages/mouf/mvc.splash/doc/writing_controllers.md)
- integration of your views inside the Joomla theme
- (very) easy Ajax support

Another interesting feature is that your code is **100% compatible** with Splash MVC. This means that:

- You can write a controller in Splash MVC and deploy it later in Joomla (or the opposite)
- Since there is also a Drupal module for Splash ([Druplash](http://mouf-php.com/packages/mouf/integration.drupal.druplash/README.md)), and a Wordpress module for Splash ([Moufpress](http://mouf-php.com/packages/mouf/integration.wordpress.moufpress/README.md)), you can actually **write a controller in Joomla and deploy it in Drupal or Wordpress** (or the other way around). Yes, you read it correctly, you can develop an application that will run on Wordpress, Drupal and Joomla (!) Haha! I see you're interested. Let's get started!

Supported Joomla version
------------------------

[](#supported-joomla-version)

Moufla 2.x is compatible with Joomla 3.x and Splash MVC 7.x.

Installation
------------

[](#installation)

You will first need to install Joomla and Mouf side by side.

1. Start by installing [Joomla](http://joomla.org/) as you would normally do.
2. [Install the Mouf PHP framework](http://mouf-php.com/packages/mouf/mouf/doc/installing_mouf.md) *in the same directory* as Joomla This means you should have the **composer.json** file of Composer in the same directory as the **configuration.php** of Joomla.
3. Modify **composer.json** and add the **moufla** module. Your **composer.json** should contain at least these lines:

    ```
     {
     	"autoload" : {
     		"psr-4" : {
     			"MyApp\\" : "src/MyApp"
     		}
     	},
     	"require" : {
     		"mouf/mouf" : "~2.0",
     		"mouf/integration.joomla.moufla" : "~2.0"
     	},
     	"minimum-stability" : "dev",
     	"prefer-stable": true
     }

    ```

    Do not forget to customize your vendor name (the `MyApp` part of the autoloader section).
4. Create the empty `src/` directory at the root of your project.
5. Run the install process in Mouf: connect to Mouf UI (go to localhost/your\_folder/vendor/mouf/mouf) and run the install process for all the packages (including the Moufla install process of course)

Getting started
---------------

[](#getting-started)

[In the next section, we will learn **how to create a controller and a view**.](doc/mvc.md)

Or if you already know Splash, you can directly jump to another part of this documentation:

- [web library (JS/CSS)](doc/scripts-and-styles.md)

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 72.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~378 days

Total

2

Last Release

3823d ago

Major Versions

1.0.x-dev → 2.0.x-dev2015-11-20

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1104771?v=4)[mouf](/maintainers/mouf)[@Mouf](https://github.com/Mouf)

---

Top Contributors

[![moufmouf](https://avatars.githubusercontent.com/u/1290952?v=4)](https://github.com/moufmouf "moufmouf (8 commits)")[![guillaumeVDP](https://avatars.githubusercontent.com/u/6858094?v=4)](https://github.com/guillaumeVDP "guillaumeVDP (1 commits)")[![nguyenk](https://avatars.githubusercontent.com/u/2227554?v=4)](https://github.com/nguyenk "nguyenk (1 commits)")[![voronkovich](https://avatars.githubusercontent.com/u/2299535?v=4)](https://github.com/voronkovich "voronkovich (1 commits)")

---

Tags

mvcjoomlamoufsplash

### Embed Badge

![Health badge](/badges/mouf-integrationjoomlamoufla/health.svg)

```
[![Health](https://phpackages.com/badges/mouf-integrationjoomlamoufla/health.svg)](https://phpackages.com/packages/mouf-integrationjoomlamoufla)
```

###  Alternatives

[laminas/laminas-mvc

Laminas's event-driven MVC layer, including MVC Applications, Controllers, and Plugins

17224.4M364](/packages/laminas-laminas-mvc)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
