Download the PHP package saeedhosan/module-support without Composer
On this page you can find all versions of the php package saeedhosan/module-support. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download saeedhosan/module-support
More information about saeedhosan/module-support
Files in saeedhosan/module-support
Package module-support
Short Description The package support for the Laravel module.
License MIT
Informations about the package module-support
Module Support for Laravel
Your friendly companion for building modular Laravel applications. This package makes it dead simple to organize your Laravel app into self-contained modules with their own structure.
What is this?
Think of modules as building blocks for your Laravel app. Instead of dumping everything into app/Http/Controllers, app/Models, and friends, you can group related functionality into modules. Each module can have its own controllers, models, views, migrations—everything it needs to work independently.
This package gives you the tools to discover, manage, and work with those modules effortlessly.
Requirements
- PHP: 8.2 or newer
- Laravel: 11, 12, or 13
Installation
Install via Composer:
The service provider registers itself automatically, so you're good to go—no extra setup needed.
Configuration
Want to customize how modules are organized? Publish the config file:
Here's what you can tweak in config/module.php:
Quick Start
Module Structure
A typical module looks like this:
Each module has its own composer.json that defines its namespace and autoloading—just like a regular package.
Working with Modules
Get a specific module:
Loop through all modules:
Check if a module exists:
Get module info from its composer.json:
Helpers
We've got a couple of handy helpers up our sleeves:
Blade Components
This package includes a <x-module> Blade component for conditionally rendering content based on module status:
The component accepts these attributes:
name(required): The module name to checktitle(optional): Fallback title for the error message
If the module is not active, it displays a placeholder message. You can also customize the wrapper styles using standard HTML attributes:
Blade Directives
The package provides a @module directive for conditionally including content:
Bootstrapping Module Providers
If your module has service providers defined in its composer.json, you can register them manually:
Or use the manager:
Testing
The package comes with a solid test suite. Make sure everything still works:
Contributing
Found a bug or want to add a feature? Pull requests are totally welcome. Just make sure the tests pass before submitting.
Module support was created by Saeed Hosan under the MIT license.