batinmustu / laravel-module-maker
Laravel Module Maker 是一个帮助您为 Laravel 应用程序创建模块的包。
Requires
- php: ^8.0
- illuminate/contracts: ^10.0||^11.0
- laravel/prompts: ^0.1.17
- spatie/laravel-package-tools: ^1.16
- symfony/yaml: ^v6.4.3.0
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- spatie/laravel-ray: ^1.35
README
该项目似乎是一个由 batinmustu 开发的名为 laravel-module-maker 的 Laravel 包。该包旨在简化 Laravel 应用程序中模块的创建。它提供了一个基于预定义模板的模块存根生成命令行界面。
该包包含一组预定义的模板(存根),用于常见的模块结构,如 'category'。用户可以选择要生成的存根,然后根据所选模板创建必要的文件和目录。用户可以自定义存根,包提供了一个命令来发布存根模板以进行自定义。
该包通过 Composer 安装,其配置可以使用 php artisan module-maker:publish
命令发布。配置包括存根模板文件夹的路径。
安装
您可以通过 Composer 安装此包
composer require batinmustu/laravel-module-maker
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="laravel-module-maker-config"
这是已发布配置文件的内容
return [ 'stub_template_folder' => resource_path('stubs/modules'), ];
可选地,您可以使用以下命令发布存根模板
php artisan module-maker:publish
核心存根模板
Laravel Module Maker 包附带一组预定义的模板(存根),以帮助您快速生成模块。以下是包提供的核心存根模板
生成新模块
要使用 Laravel Module Maker 包生成新模块,您可以使用包提供的 module-maker
命令。以下是一步一步的指南
- 打开您的终端,导航到您的 Laravel 项目目录。
- 运行
module-maker
命令,后跟您要创建的模块名称。模块名称应为大驼峰命名法(例如,BlogCategory)。您也可以使用--template
选项指定要使用的模板。例如,如果您想使用 'category' 模板,可以这样操作php artisan module-maker BlogCategory --template=category
- 然后,命令将提示您选择要生成的存根。您可以通过使用
space
并点击您想生成的存根来选择多个存根。 - 如果没有设置
--accept-risk
选项,命令将警告您关于覆盖使用与模板存根相同路径的现有文件的风险。您可以选择继续或取消操作。 - 确认后,命令将根据所选模板和存根生成模块。
注意:请记住,您可以通过将它们发布到您的 Laravel 项目并在
resources/stubs/modules
目录中修改它们来自定义存根模板。
在 Laravel Module Maker 中自定义存根模板
要自定义 Laravel Module Maker 包中的存根模板,您可以按照以下步骤操作
- 发布存根模板:该包提供了一个命令来发布存根模板。这将把存根模板从包复制到您的 Laravel 项目中。您可以在终端中运行此命令
php artisan module-maker:publish
- 定位存根模板:发布后,存根模板将位于您的 Laravel 项目的
resources/stubs/modules
目录中,如laravel-module-maker.php
配置文件中指定。 - 自定义存根模板:您现在可以在此目录中自定义存根模板。您可以修改现有的存根或根据需求创建新的存根。
存根模板参数
在 Laravel Module Maker 包中的占位符模板支持在生成模块时用实际值替换的参数。您可以使用这些参数在占位符文件中动态生成基于模块名称和其他输入的内容。
以下是您可以在占位符模板中使用的可用参数
__Module___
:将模块名称替换为下划线。例如,BlogCategory
变为Blog_Category
。__Modules___
:将模块名称的复数形式替换为下划线。例如,BlogCategory
变为Blog_Categories
。__module___
:将模块名称替换为蛇形格式。例如,BlogCategory
变为blog_category
。__modules___
:将模块名称的复数形式替换为蛇形格式。例如,BlogCategory
变为blog_categories
。__Module__
:直接替换模块名称。例如,BlogCategory
保持为BlogCategory
。__Module-__
:将模块名称替换为短横线。例如,BlogCategory
变为Blog-Category
。__Module __
:将模块名称替换为大写字母格式。例如,BlogCategory
变为Blog Category
。__Modules__
:替换模块名称的复数形式。例如,BlogCategory
变为BlogCategories
。__Modules-__
:将模块名称的复数形式替换为短横线。例如,BlogCategory
变为Blog-Categories
。__Modules __
:将模块名称的复数形式替换为大写字母格式。例如,BlogCategory
变为Blog Categories
。__module__
:将模块名称替换为驼峰格式。例如,BlogCategory
变为blogCategory
。__module-__
:将模块名称替换为短横线。例如,BlogCategory
变为blog-category
。__module __
:将模块名称替换为空格。例如,BlogCategory
变为blog category
。__modules__
:将模块名称的复数形式替换为驼峰格式。例如,BlogCategory
变为blogCategories
。__modules-__
:将模块名称的复数形式替换为短横线。例如,BlogCategory
变为blog-categories
。__modules __
:将模块名称的复数形式替换为空格。例如,BlogCategory
变为blog categories
。__Namespace__
:替换给定路径的命名空间。例如,如果您的路径是app/Http/Controllers
,它将被转换为App\Http\Controllers
。__migration__
:替换迁移的时间戳。例如,它可能类似于2023_12_31_235959
。
您可以在您的占位符文件中使用这些参数来生成基于模块名称和其他输入的动态内容和文件/文件夹名称。
蓝图文件是用来做什么的?
蓝图文件 module-blueprint.yml
是一个包含您想要生成的模块结构的文件。您可以在该文件中提供要生成的模块名称、模板和占位符。Laravel Module Maker 包使用此文件根据指定的结构生成模块。
以下是 module-blueprint.yml
文件的示例
# module-blueprint.yml BlogCategory: template: 'category' excludeStubs: - 'app/Http/Controllers/__Module__Controllers/__Module__Controller.php.stub' NewsCategory: template: 'category'
在此示例中,我们有两个模块,BlogCategory
和 NewsCategory
。这两个模块都使用 category
模板来生成模块结构。然而,我们从 BlogCategory
模块中排除了 __Module__Controller.php.stub
占位符文件。
您可以在 Laravel 项目的根目录中创建一个 module-blueprint.yml
文件,并指定要生成的模块以及要排除的模板和占位符。
然后,您可以通过运行 module-maker:blueprint
命令根据蓝图文件生成模块。
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。