PHPackages                             dioscouri/f3-modules - 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. dioscouri/f3-modules

ActiveComponent[Framework](/categories/framework)

dioscouri/f3-modules
====================

Modules component for the F3-framework

v0.9.0(10y ago)51.2k1[8 issues](https://github.com/dioscouri/f3-modules/issues)GPLPHPPHP &gt;=5.4.0

Since Jun 29Pushed 10y ago6 watchersCompare

[ Source](https://github.com/dioscouri/f3-modules)[ Packagist](https://packagist.org/packages/dioscouri/f3-modules)[ Docs](https://github.com/dioscouri/f3-modules)[ RSS](/packages/dioscouri-f3-modules/feed)WikiDiscussions master Synced today

READMEChangelog (3)Dependencies (3)Versions (4)Used By (0)

f3-modules
==========

[](#f3-modules)

A module manager for the F3 framework

### Getting Started

[](#getting-started)

```
Add this to your project's composer.json file:

{
    "require": {
        "dioscouri/f3-modules": "dev-master"
    }
}

```

Then add the following two lines to your index.php file, immediately before $app-&gt;run();

```
// bootstap each mini-app
\Dsc\Apps::instance()->bootstrap();

// trigger the preflight event
\Dsc\System::instance()->preflight();

```

### Adding Module Positions to the System

[](#adding-module-positions-to-the-system)

Yor front-end template probably has several custom module positions (header, footer, left, right, etc). Tell the f3-admin about them with the following code, which you should put in your apps/site/bootstrap.php

```
// register the template'e module positions
\Modules\Factory::registerPositions( array('promo', 'footer', 'above-content', 'below-content') );

```

### Displaying a Module Position in your template

[](#displaying-a-module-position-in-your-template)

Add the following to your template file to render modules in the "footer" position.

```

```

### Displaying a Module Position in a view file

[](#displaying-a-module-position-in-a-view-file)

Use the following code to render a module position within one of your views.

```
echo \Modules\Factory::render( 'your_custom_position_name', \Base::instance()->get('PARAMS.0') );

```

### Add your project's modules to the system

[](#add-your-projects-modules-to-the-system)

To add your own custom modules to the system, put them all within subfolders of your own \\Modules folder, for example:

```
/apps/site/modules/

```

resulting in:

```
/apps/site/modules/custom_module_1/
/apps/site/modules/custom_module_2/

```

Then register your module folder with the system:

```
// register the modules path
\Modules\Factory::registerPath( $f3->get('PATH_ROOT') . "apps/site/modules/" );

```

### Module filesystem structure

[](#module-filesystem-structure)

1. Each module must have a module.json file in its document root, the contents of which is a single json object with at least a title (unique), eg:

```
{
    "title": "Your Custom Module"
}

```

2. Each module must have a Module.php file in its document root that contains a single class. The class should be namespaced (e.g. \\Your\\Custom\\Namespace) and the class name should be 'Module'. Finally, the class must extend \\Modules\\Abstracts\\Module

### Bootstrap your modules

[](#bootstrap-your-modules)

All of your modules can have their own bootstrap.php file, and therefore can have their own Listeners. Put the bootstrap.php file in the root of their folder, such as:

```
/apps/site/modules/custom_module_1/bootstrap.php
/apps/site/modules/custom_module_2/bootstrap.php

```

### Add custom fields to the f3-admin module-editing form

[](#add-custom-fields-to-the-f3-admin-module-editing-form)

Your module's Listener can add custom html to the f3-admin module-editing form. See the core Megamenu Module for a working example:

```
f3-modules/src/Modules/Modules/Megamenu/Listeners/Admin.php

```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.2% 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 ~32 days

Total

3

Last Release

3903d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4c1fbe775dfdb641e9f076d5f4c814655b7267f3877d8a385f87353249d802e4?d=identicon)[rdiaztushman](/maintainers/rdiaztushman)

---

Top Contributors

[![rdiaztushman](https://avatars.githubusercontent.com/u/1928976?v=4)](https://github.com/rdiaztushman "rdiaztushman (65 commits)")[![ChrisFrench](https://avatars.githubusercontent.com/u/210848?v=4)](https://github.com/ChrisFrench "ChrisFrench (4 commits)")

---

Tags

radModule ManagerF3

### Embed Badge

![Health badge](/badges/dioscouri-f3-modules/health.svg)

```
[![Health](https://phpackages.com/badges/dioscouri-f3-modules/health.svg)](https://phpackages.com/packages/dioscouri-f3-modules)
```

###  Alternatives

[nwidart/laravel-modules

Laravel Module management

6.1k14.6M273](/packages/nwidart-laravel-modules)[orchid/platform

Platform for back-office applications, admin panel or CMS your Laravel app.

4.8k2.5M59](/packages/orchid-platform)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.7k3.7M388](/packages/pimcore-pimcore)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

7310.3k29](/packages/open-dxp-opendxp)[ikkez/f3-assets

CSS/JS Assets Plugin for PHP Fat-Free Framework

2915.2k4](/packages/ikkez-f3-assets)[ikkez/f3-middleware

A middleware router plugin for PHP Fat-Free Framework

2416.4k1](/packages/ikkez-f3-middleware)

PHPackages © 2026

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