ibrostudio/composer-custom-directory-installer

v1.2.0 2024-06-20 05:11 UTC

This package is auto-updated.

Last update: 2024-09-20 05:40:46 UTC


README

此包基于 Laravel Module Installer 项目,扩展以支持不同类型的包。它允许将独立包安装到自定义目录中,而不是 vendor/ 目录。

安装

在您的 主项目 中运行

composer require ibrostudio/composer-custom-directory-installer

在 composer 安装结束时,您需要将包添加到 composer.json 的 "allow-plugins" 部分中。 确认是必须的

配置

在您的 包的 composer.json 中设置以下键

"type": "custom-library",
"extra": {
    "custom-directory-installer": {
      "directory": "DESTINATION_FOLDER"
    }
}

DESTINATION_FOLDER 替换为您想要安装包的主项目根目录下相对路径的目录名称。

示例

"type": "custom-library",
"extra": {
    "custom-directory-installer": {
      "directory": "themes"
    }
}

用法

只需像平常一样引入您的 composer 包即可

composer require vendor_name/package_name

您的包将被安装到 extra 部分中定义的目录下的 package_name 子目录中。

选项

您的包名称有时可能有前缀或后缀,例如

  • vendor_name/theme-package_name
  • vendor_name/package_name-theme
  • vendor_name/platform-package_name-theme

为了方便和可读性,您可以在额外配置中指定前缀和/或后缀,以排除它们在文件夹名称中的显示

前缀

"name": "vendor_name/theme-my_project",
"extra": {
    "custom-directory-installer": {
      "directory": "themes",
      "prefix": "theme-"
    }
}

后缀

"name": "vendor_name/my_project-theme",
"extra": {
    "custom-directory-installer": {
      "directory": "themes",
      "suffix": "-theme"
    }
}

两者

"name": "vendor_name/platform-my_project-theme",
"extra": {
    "custom-directory-installer": {
      "directory": "themes",
      "prefix": "platform-",
      "suffix": "-theme"
    }
}

在这三个示例中,包将被安装到 /themes/my_project。

提示: laravel-filament- 是内置前缀,您不需要包含它们。