我正在考虑通过将要创建的composer包以以下格式创建项目框架。
只是想知道这个命令
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博客
谢谢。
答案 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
默认情况下的好例子。