如何创建可以通过composer create-project创建框架文件的composer程序包

时间:2018-08-16 23:31:35

标签: php symfony composer-php

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

  • / app
  • / config
  • / web
  • /供应商

只是想知道这个命令

  

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

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

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

处包含一个composer.json。
  

composer create-project symfony / skeleton博客

谢谢。

1 个答案:

答案 0 :(得分:3)

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

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

使用symfony/skeleton作为基本软件包有点特殊。该软件包依赖于Symfony Flex,后者是一个Composer插件,可自动应用所谓的配方(请参阅https://flex.symfony.com/),当安装软件包时,它将导致新创建的文件(并在删除文件时对其进行清理)。但是,这种行为对于Flex来说是特殊的,因此对于如今基于Symfony 4的应用程序而言,并不是composer create-project默认情况下的好例子。

相关问题