{"id":18929548,"url":"https://github.com/thecodingmachine/integration.joomla.moufla","last_synced_at":"2025-07-07T01:04:55.841Z","repository":{"id":22533947,"uuid":"25874646","full_name":"thecodingmachine/integration.joomla.moufla","owner":"thecodingmachine","description":"This is all classes that integrate Mouf in a Joomla environment. There are two other repositories that are linked to this one.","archived":false,"fork":false,"pushed_at":"2015-11-20T13:52:34.000Z","size":73,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":18,"default_branch":"2.0","last_synced_at":"2025-06-30T03:09:37.931Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thecodingmachine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-28T14:56:08.000Z","updated_at":"2022-12-24T19:31:27.000Z","dependencies_parsed_at":"2022-08-23T12:20:32.930Z","dependency_job_id":null,"html_url":"https://github.com/thecodingmachine/integration.joomla.moufla","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thecodingmachine/integration.joomla.moufla","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Fintegration.joomla.moufla","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Fintegration.joomla.moufla/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Fintegration.joomla.moufla/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Fintegration.joomla.moufla/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thecodingmachine","download_url":"https://codeload.github.com/thecodingmachine/integration.joomla.moufla/tar.gz/refs/heads/2.0","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thecodingmachine%2Fintegration.joomla.moufla/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263996072,"owners_count":23541399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T11:33:28.511Z","updated_at":"2025-07-07T01:04:55.808Z","avatar_url":"https://github.com/thecodingmachine.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Moufla: a new generation MVC framework for Joomla\n=================================================\n\n![Moufla_logo](logo.jpg \"Moufla!\")\n\n\nWhy should I care?\n------------------\n\nMoufla is a **MVC framework for Joomla**. Actually, it is a bridge between [Joomla](http://joomla.org/) and\nthe [Splash MVC framework](http://mouf-php.com/packages/mouf/mvc.splash/index.md) \nused by [Mouf-PHP](http://mouf-php.com) (a dependency injection based framework).\n\nMoufla offers the following features:\n\n- **compatible controllers**, declared through a nice graphical DI container\n- **PSR-7 compatibility**: your controllers can take into parameter `Request` objects and respond `Response` objects\n  that are compatible with the [PSR-7 HTTP Message interfaces](http://www.php-fig.org/psr/psr-7/).\n- use of **annotations** in your controllers (for instance: `@URL` to declare a new route, `@Logged` to restrict access to logged users, etc...)\n- support for any kind of **views** supported in Splash MVC (this includes plain PHP files, [Twig templates](http://twig.sensiolabs.org/), etc...)\n- a [nice web-based UI to scafold your controllers and views](http://mouf-php.com/packages/mouf/mvc.splash/doc/writing_controllers.md)\n- integration of your views inside the Joomla theme\n- (very) easy Ajax support\n\nAnother interesting feature is that your code is **100% compatible** with Splash MVC. This means that:\n\n- You can write a controller in Splash MVC and deploy it later in Joomla (or the opposite)\n- Since there is also a Drupal module for Splash ([Druplash](http://mouf-php.com/packages/mouf/integration.drupal.druplash/README.md)),\n  and a Wordpress module for Splash ([Moufpress](http://mouf-php.com/packages/mouf/integration.wordpress.moufpress/README.md)),\n  you can actually **write a controller in Joomla and deploy it in Drupal or Wordpress** (or the other way around).\n  Yes, you read it correctly, you can develop an application that will run on Wordpress, Drupal and Joomla (!)\n  Haha! I see you're interested. Let's get started!\n\nSupported Joomla version\n------------------------\n\nMoufla 2.x is compatible with Joomla 3.x and Splash MVC 7.x.\n\nInstallation\n------------\n\nYou will first need to install Joomla and Mouf side by side.\n\n1. Start by installing [Joomla](http://joomla.org/) as you would normally do.\n2. [Install the Mouf PHP framework](http://mouf-php.com/packages/mouf/mouf/doc/installing_mouf.md) _in the same directory_ as Joomla\n   This means you should have the **composer.json** file of Composer in the same directory as the **configuration.php** of Joomla.\n3. Modify **composer.json** and add the **moufla** module. Your **composer.json** should contain at least these lines: \n\n\t\t{\n\t\t\t\"autoload\" : {\n\t\t\t\t\"psr-4\" : {\n\t\t\t\t\t\"MyApp\\\\\" : \"src/MyApp\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"require\" : {\n\t\t\t\t\"mouf/mouf\" : \"~2.0\",\n\t\t\t\t\"mouf/integration.joomla.moufla\" : \"~2.0\"\n\t\t\t},\n\t\t\t\"minimum-stability\" : \"dev\",\n\t\t\t\"prefer-stable\": true\n\t\t}\n\n   Do not forget to customize your vendor name (the `MyApp` part of the autoloader section).\n4. Create the empty `src/` directory at the root of your project.\n5. Run the install process in Mouf: connect to Mouf UI (go to localhost/your_folder/vendor/mouf/mouf) \n   and run the install process for all the packages  (including the Moufla install process of course)\n\n\nGetting started\n---------------\n\n[In the next section, we will learn **how to create a controller and a view**.](doc/mvc.md)\n\nOr if you already know Splash, you can directly jump to another part of this documentation:\n\n- [web library (JS/CSS)](doc/scripts-and-styles.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecodingmachine%2Fintegration.joomla.moufla","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthecodingmachine%2Fintegration.joomla.moufla","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthecodingmachine%2Fintegration.joomla.moufla/lists"}