dnt/laravel-module
v1.1
2022-03-03 19:32 UTC
Requires
- php: ^8.1
- dnt/json: dev-master
- illuminate/filesystem: v9.x
- illuminate/support: ^v9.1
Requires (Dev)
- phpunit/phpunit: v9.5
This package is auto-updated.
Last update: 2024-08-29 06:07:26 UTC
README
设置
composer require dnt/laravel-module
- 需要php >= 8.1
MODULE.JSON
- 文件路径:
modules/{namemodule}/module.json - 模板
{
"name": "NameModule",
"key": "key-module",
"providers": [
"namespace service provider"
],
"aliases": {
"alias": "namespace class"
},
"files": [
"file path"
],
"views": [
"./views"
],
"langs": [
"./lang"
],
"enable": true
}
示例
- 模块购物车管理器
- 结构
|-app
|-bootstrap
|-config
...
|-modules
|----CartManager
|-------Facades
|-----------Cart.php
|-------Providers
|-----------CartManagerServiceProvider.php
|-------views
|------------index.blade.php
|-------lang
|------------en
|----------------validation.php
|------------en.json
|-------helpers.php
|-------module.json
...
|-composer.json
|.env
...
{
"name": "Cart Manager",
"key": "cart-manager",
"providers": [
"CartManager\\Providers\\CartManagerServiceProvider"
],
"aliases": {
"Cart": "CartManager\\Facades\\Cart"
},
"files": [
"./helpers.php"
],
"views": [
"./views"
],
"langs": [
"./lang"
],
"enable": true
}
助手
- 获取模块
app(\DNT\Module\Contracts\Management::class)->get('cart-manager');
- 获取所有模块
app(\DNT\Module\Contracts\Management::class)->all();
- 启用模块
app(\DNT\Module\Contracts\Management::class)->enable('cart-manager');
- 禁用模块
app(\DNT\Module\Contracts\Management::class)->disable('cart-manager');
- 获取视图
// Controller ... return view('cart-manager::index'); ...
- 获取翻译
__('cart-manager::name');