创建模块
创建模块
使用artisan命令 php artisan module:make ModuleName 来创建一个名为 Posts 的模块:
php artisan module:make posts
这将在 Modules/Posts 路径下创建一个模块
通过分别指定模块名称,可以在一个命令中创建多个模块:
php artisan module:make customers contacts users invoices quotes
这将创建每个模块。
参数
默认情况下,当您创建一个新模块时,该命令将自动添加一些资源,如控制器、种子类、服务提供者等。如果你不想要这些,你可以添加 --plain 参数,以生成一个普通模块。
php artisan module:make Blog --plain
或
php artisan module:make Blog -p
其他参数如下:
生成api模块。
php artisan module:make Blog --api
不要在创建时启用该模块。
php artisan module:make Blog --disabled
或
php artisan module:make Blog -d
命名约定
因为我们使用 psr-4 自动加载模块,我们强烈建议使用 StudlyCase 惯例。
目录结构
Modules/
  ├── Blog/
      ├── Config/
      ├── Console/
      ├── Database/
          ├── factories/
          ├── Migrations/
          ├── Seeders/
      ├── Entities/
      ├── Http/
          ├── Controllers/
          ├── Middleware/
          ├── Requests/
      ├── Providers/
          ├── PostsServiceProvider.php
          ├── RouteServiceProvider.php
      ├── Resources/
          ├── assets/
          ├── lang/
          ├── views/
      ├── Routes/
          ├── api.php
          ├── web.php
      ├── Tests/
      ├── composer.json
      ├── module.json
      ├── package.json
      ├── webpack.mix.js
Composer.json
每个模块都有自己的 composer。这将设置模块的名称、描述和作者。通常只有当你需要更改供应商名称或有自己的 composer 依赖时,才需要更改此文件。
假设你想在这个模块中安装一个包:
"require": {
    "dcblogdev/laravel-box": "^2.0"
}
这将引入此模块的包,但它不会被加载。 所以,您必须将依赖项放在 Laravel composer.json 文件中。 存在这种情况的主要原因是为了将模块提取到包中。
Module.json
该文件详细说明了名称、别名和描述/选项:
{
    "name": "Blog",
    "alias": "blog",
    "description": "",
    "keywords": [],
    "priority": 0,
    "providers": [
        "Modules\\Blog\\Providers\\BlogServiceProvider"
    ],
    "aliases": {},
    "files": [],
    "requires": []
}
模块按优先级顺序加载,更改优先级编号,以自定义顺序启动/填充模块。
files 选项可以用来包含文件:
"files": [
    "start.php"
]
                    
                    
                    
                
          
Laravel Modules 中文文档
                    
                    
            
            
                关于 LearnKu
              
                    
                    
                    
 
推荐文章: