85 lines
3.5 KiB
Markdown
85 lines
3.5 KiB
Markdown
# Laravel-Modules
|
|
|
|
[](https://packagist.org/packages/nwidart/laravel-modules)
|
|
[](LICENSE.md)
|
|
[](https://travis-ci.org/nWidart/laravel-modules)
|
|
[](https://scrutinizer-ci.com/g/nWidart/laravel-modules/?branch=master)
|
|
[](https://scrutinizer-ci.com/g/nWidart/laravel-modules)
|
|
[](https://packagist.org/packages/nwidart/laravel-modules)
|
|
|
|
| **Laravel** | **laravel-modules** |
|
|
|-------------|---------------------|
|
|
| 5.4 | ^1.0 |
|
|
| 5.5 | ^2.0 |
|
|
| 5.6 | ^3.0 |
|
|
| 5.7 | ^4.0 |
|
|
| 5.8 | ^5.0 |
|
|
| 6.0 | ^6.0 |
|
|
| 7.0 | ^7.0 |
|
|
| 8.0 | ^8.0 |
|
|
| 9.0 | ^9.0 |
|
|
| 10.0 | ^10.0 |
|
|
|
|
`nwidart/laravel-modules` is a Laravel package which created to manage your large Laravel app using modules. Module is like a Laravel package, it has some views, controllers or models. This package is supported and tested in Laravel 10.
|
|
|
|
This package is a re-published, re-organised and maintained version of [pingpong/modules](https://github.com/pingpong-labs/modules), which isn't maintained anymore. This package is used in [AsgardCMS](https://asgardcms.com/).
|
|
|
|
With one big added bonus that the original package didn't have: **tests**.
|
|
|
|
Find out why you should use this package in the article: [Writing modular applications with laravel-modules](https://nicolaswidart.com/blog/writing-modular-applications-with-laravel-modules).
|
|
|
|
## Install
|
|
|
|
To install through Composer, by run the following command:
|
|
|
|
``` bash
|
|
composer require nwidart/laravel-modules
|
|
```
|
|
|
|
The package will automatically register a service provider and alias.
|
|
|
|
Optionally, publish the package's configuration file by running:
|
|
|
|
``` bash
|
|
php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"
|
|
```
|
|
|
|
### Autoloading
|
|
|
|
By default, the module classes are not loaded automatically. You can autoload your modules using `psr-4`. For example:
|
|
|
|
``` json
|
|
{
|
|
"autoload": {
|
|
"psr-4": {
|
|
"App\\": "app/",
|
|
"Modules\\": "Modules/",
|
|
"Database\\Factories\\": "database/factories/",
|
|
"Database\\Seeders\\": "database/seeders/"
|
|
}
|
|
|
|
}
|
|
```
|
|
|
|
**Tip: don't forget to run `composer dump-autoload` afterwards.**
|
|
|
|
## Documentation
|
|
|
|
You'll find installation instructions and full documentation on [https://docs.laravelmodules.com/](https://docs.laravelmodules.com/).
|
|
|
|
## Credits
|
|
|
|
- [Nicolas Widart](https://github.com/nwidart)
|
|
- [David Carr](https://github.com/dcblogdev)
|
|
- [gravitano](https://github.com/gravitano)
|
|
- [All Contributors](../../contributors)
|
|
|
|
## About Nicolas Widart
|
|
|
|
Nicolas Widart is a freelance web developer specialising on the Laravel framework. View all my packages [on my website](https://nwidart.com/), or visit [my website](https://nicolaswidart.com).
|
|
|
|
|
|
## License
|
|
|
|
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
|