havennow / laravel-module
Laravel 轻量级模块
0.0.1
2023-12-18 19:53 UTC
Requires
- php: ^7.2.5|^8.0
- illuminate/contracts: ^6.0|^7.0|^8.0|^9.0|^10.0
- laravel/framework: ^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- laravel/pint: ^1.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^8.5.8|^9.3.3
This package is auto-updated.
Last update: 2024-09-20 15:42:21 UTC
README
基于已归档包的轻量级包: https://github.com/ferrl/framework
目标是,将您的代码转换为简单模块
要求:PHP >= 7.2.5
设置步骤
composer require havennow/laravel-module
php artisan vendor:publish --provider="Havennow\LaravelModule\ModuleProvider" --tag=config
- 在 config/modules.php 配置中查看
配置
- 在数组中,您可以通过 .env 文件中的 ENV 启用或禁用通用配置:
LARAVEL_MODULE_ENABLE
,为布尔值 - 您可以通过指定模块启用特定模块
1 => ['name' => 'XPTO', 'enable' => true ]
- 数组中的索引需要为整数,以确定加载顺序,以防一个模块在另一个模块之前加载
- 默认情况下,文件夹为
app/Modules
,命名空间为App\Modules
如何使用
- 将 ServiceProvider 放入 config/app.php 的 providers 部分
\Havennow\LaravelModule\ModuleServiceProvider::class
- 在控制台
php artisan laravel-module:make-module Example
- 在配置中启用
'available' => [
添加1 => ['name' => 'example', 'enable' => true ]
- 在 Modules 路径中查看代码
- 在
https:///example
中测试示例
可以为模块自定义抽象类,例如,您可以在运行时禁用模块
class Module extends ModuleAbstract
{
public function loadBefore()
{
$this->setEnable(false);
}