PHPackages                             rodrigobutta/laravel-attachable-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. rodrigobutta/laravel-attachable-modules

ActiveLibrary

rodrigobutta/laravel-attachable-modules
=======================================

Make your project scalable with isolated modules

v1.1.1(8y ago)08MITPHPPHP &gt;=7.0.0

Since Oct 2Pushed 8y agoCompare

[ Source](https://github.com/rodrigobutta/laravel-attachable-modules)[ Packagist](https://packagist.org/packages/rodrigobutta/laravel-attachable-modules)[ Docs](https://github.com/rodrigobutta/laravel-attachable-modules)[ RSS](/packages/rodrigobutta-laravel-attachable-modules/feed)WikiDiscussions master Synced 2mo ago

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

Laravel Attachable Modules
==========================

[](#laravel-attachable-modules)

Make your project scalable with isolated modules

How it works
------------

[](#how-it-works)

A project will be made of modules, for example, you may want a Products module and a Users module, in wich case your project structure will have this: \\App\\Modules\\Project\*\*\*\* \\App\\Modules\\User\*\*\*\*

Where *Project* an *User* are the respective folders for each module and will contain every needed file inside (no file should be spread outside this folder besides config or database matter files)

Inside every module folder, there should be a Service Provider that we will call **Boot Service Provider**. The boot service provider file is where a module is defined, with its namespaces, views, configs, langs, etc.

Laravel Attachable Modules will search for every Boot Service Provider file and use it to load every module to the project. Please refer to the config file to set this logic up (if you wont be usign the default one).

Theres a demo module inside this package ("demos") that has the needed structure and works with RodrigoButta/laravel-admin for handling the backend in a bunch of lines. But of course you can get rid of that and user the module like a boilerplate.

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

[](#installation)

composer.json:

```
"require": {
  "rodrigobutta/laravel-attachable-modules": ">=1.0.0",
}
```

terminal:

```
composer update

```

config/app.php:

```
'providers' => [
    [...]
    RodrigoButta\AttachableModules\AttachableModulesServiceProvider::class

],
```

terminal:

```
php artisan vendor:publish

```

config/attachable-modules.php

- **modules\_folder\_path**: path where modules are located (each module should have its own folder, with the boot provider and any files it needs to run)
- **module\_boot\_provider\_prefix**: expected prefix for the boot service provider file
- **module\_boot\_provider\_suffix**: expected suffix for the boot service provider file (without the .php extension)

Adding a module
---------------

[](#adding-a-module)

So easy!

1. Copy the module folder inside app\\Modules\\ (or the folder you've defined for storing modules)
2. terminal:

```
composer dump-autoload

```

3. The module is now beign called. Depending on the module architecture, you should know how to test or acces its funcions.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~0 days

Total

6

Last Release

3145d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2ffbd492c56af8e1230d52345f312482d294fdb5fd2f742b8c22c919e48835d3?d=identicon)[rodrigobutta](/maintainers/rodrigobutta)

---

Top Contributors

[![rodrigobutta](https://avatars.githubusercontent.com/u/203718?v=4)](https://github.com/rodrigobutta "rodrigobutta (10 commits)")

---

Tags

laravelprovidermoduleslaravel 5scalable

### Embed Badge

![Health badge](/badges/rodrigobutta-laravel-attachable-modules/health.svg)

```
[![Health](https://phpackages.com/badges/rodrigobutta-laravel-attachable-modules/health.svg)](https://phpackages.com/packages/rodrigobutta-laravel-attachable-modules)
```

###  Alternatives

[mhmiton/laravel-modules-livewire

Using Laravel Livewire in Laravel Modules package with automatically registered livewire components for every modules.

236409.6k9](/packages/mhmiton-laravel-modules-livewire)[pingpong/modules

Laravel Modules

592188.7k13](/packages/pingpong-modules)[ricardofontanelli/laravel-telegram

A simple and lightweight Laravel 4 and 5 wrapper to interact with Telegram Bot.

103.6k](/packages/ricardofontanelli-laravel-telegram)

PHPackages © 2026

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