共生体/laravel-module-installer

安装: 1

依赖: 0

建议者: 0

安全: 0

星标: 0

Fork: 0

类型:composer-plugin

v1.0.3 2024-07-22 22:01 UTC

This package is auto-updated.

Last update: 2024-09-22 20:19:03 UTC


README

此包将Josh Brown的joshbrw/laravel-module-installer进行替换,并是一个向后兼容的扩展版本。

要求

  • PHP ^8.1
  • Laravel 10+
  • Laravel Modules 10+

如果需要支持Laravel / Laravel Modules < ^10.0,请安装joshbrw/laravel-module-installer

安装

如果有,请删除任何joshbrw/laravel-module-installer的痕迹,这两个模块将会冲突。

composer remove joshbrw/laravel-module-installer
composer require symbiont/laravel-module-installer

用法

请确保在你的模块的composer.json中将type设置为laravel-module

默认情况下,laravel-module的安装与joshbrw/laravel-module-installer向后兼容,尽管没有必要以-module结束模块的包名。

唯一的前提是在composer.json中设置的Laravel模块的type应该是laravel-module。如果缺少type,则此安装程序在需要时将无法由composer执行。

{
  "name": "vendor/package-name",
  "type": "laravel-module",
  "description": "Some vendor package-name",
  "keywords": ["vendor", "package-name"],
  "etc": "etc"
}

如果type设置正确,只需使用composer composer require vendor/module-name来要求laravel模块。

选项

应用程序 composer.json

所有选项都放置在应用程序的composer.json中的extra部分的module-installer键中

{
  "extra": {
    "module-installer": {
      /* options */
    }
  }
}
选项type默认值
install-directory字符串模块设置模块安装的目录名,默认为Modules
use-symlinks布尔值false使用符号链接而不是将模块目录从vendor移动到install-directory
{
  "extra": {
    "module-installer": {
      "install-directory": "Custom",
      "use-symlinks": true
    }
  }
}

选项install-directory

要更改模块安装的默认Modules目录,将install-directory设置为任何自定义目录。

选项use-symlinks

如果设置为true,则安装的任何Laravel模块都将链接到(默认)Modules目录,而不是从vendor目录移动到(默认)Modules目录,例如:./Modules/SomePackage => ./vendor/some-name/some-package-module

composer.json

所有选项都放置在模块包的composer.json中的extra部分的module-installer键中

选项type默认值
module-name字符串设置自定义模块名称
include-module-vendor布尔值false在模块目录路径中包含包提供者名称
include-module-part布尔值false不删除结尾的-module并将其作为模块目录路径的一部分
{
  "extra": {
    "module-installer": {
      "module-name": "custom-module-name",
      "include-module-vendor": true,
      "include-module-part": true
    }
  }
}

选项module-name

默认情况下,此包使用<vendor>/<package-name>结构作为基础,以确定模块的目录路径。要更改此默认行为,将module-name键设置为任何自定义名称。

使用"module-name": "custom-module-name"将导致名为Modules/CustomModuleName的模块目录路径。

注意

module-name的值将自动从kebab-case(仅使用减号(-)分隔符)转换为PascalCase

重要!

这也会影响模块的自动加载路径。请确保您设置了正确的路径。

选项include-module-vendor

要包含包提供者名称在模块的目录路径中,将include-module-vendor设置为true(默认为false)。

给定 vendor/some-module 将生成一个模块目录路径,称为 Modules/Vendor/Some

注意

供应商名称将被自动从 kebab-case(仅使用短横线(-)分隔)转换为 PascalCase

选项 include-module-part

如果包名称以 -module 结尾,则默认会将其删除。如果需要将 -module 包含在模块目录路径中,将 include-module-part 设置为 true 以将其包含在其路径中。

给定 vendor/some-module 生成一个名为 Modules/SomeModule 的模块目录路径

测试

composer test

作者

许可证

MIT 许可证