1

我正在考虑通过我要创建的作曲家包以以下格式创建项目框架。

  • /应用程序
  • /配置
  • /网络
  • /供应商

只是想知道这个命令

作曲家创建项目供应商/名称路径--repository-url= http://repo.yourcomposerrepo.com

为了创建我想要的文件结构,我需要在 composer.json 中添加什么?它是通过 shell 脚本完成的,还是只是从存储库中复制了文件?

对于 symfony,它将通过 composer create-project 自动创建文件和文件夹。只是想知道如何为这种情况实现类似的事情。当我查看他们的仓库时,它只包含一个 composer.json,位于https://github.com/symfony/skeleton

作曲家创建项目 symfony/skeleton 博客

谢谢你。

4

1 回答 1

3

composer create-project将创建一个包含该软件包一部分的所有文件的新目录,然后它将运行该软件包composer.json文件中列出的所有依赖项的安装。

如果你想有一个更好的例子来理解这一点,你可以使用我们用来引导 Symfony 应用程序的旧方法(当不使用 Symfony 安装程序时)。然后应用程序基于您可以在GitHub 上找到的 Symfony 标准版。只需运行composer create-project symfony/framework-standard-edition并将结果与​​存储库进行比较。

用作symfony/skeleton基础包有点特别。这个包依赖于 Symfony Flex,它是一个 Composer 插件,它会自动应用所谓的配方(参见https://flex.symfony.com/),它会在安装包时生成新创建的文件(并在删除时清理它们) . 但是,这种行为对于 Flex 来说是特殊的,因此现在基于 Symfony 4 的应用程序并不是composer create-project默认情况下的一个很好的例子。

于 2018-08-17T11:31:09.323 回答