直到几天前,还可以使用以下命令创建一个新的 Symfony 项目新的(Symfony 3)目录结构 https://stackoverflow.com/q/23993295/1001110。跑步时composer create-project symfony/framework-standard-edition path/ "2.5.*"
,Composer 会问以下问题:
您想使用 Symfony 3 目录结构吗? [是/否]
新结构提供了一些改进,例如console
被移离app
目录到bin
目录,以及phpunit.xml.dist
被移离app
目录到根目录。缓存和日志目录已移动到新的var
目录。
看一眼这个答案 https://stackoverflow.com/a/24310405/1001110(由我撰写)查看完整的更改列表。
但是,全新安装的标准发行版不再提供此选项。好像是这个问题已于7月16日删除 https://github.com/sensiolabs/SensioDistributionBundle/pull/146,因为新的目录结构造成了太多混乱,尤其是对于新用户而言。看这个问题在 GitHub 上 https://github.com/symfony/symfony-standard/issues/674以及。
是否仍然可以使用新的目录结构创建项目?
仍然可以触发问题,并将项目转换为新的目录结构。 (但前提是您正在创建一个新项目,即运行composer create-project
)
为此,您需要设置SENSIOLABS_ENABLE_NEW_DIRECTORY_STRUCTURE
环境变量为true
。这可以通过预先添加来完成SENSIOLABS_ENABLE_NEW_DIRECTORY_STRUCTURE=true
到 Composer 命令。
因此,为了创建一个新项目,请在终端中运行以下命令:
SENSIOLABS_ENABLE_NEW_DIRECTORY_STRUCTURE=true composer create-project symfony/framework-standard-edition path/ "2.5.*"
Composer 会询问您是否需要新的目录结构。
Update
正如 barius 在评论中指出的,此功能已从 Symfony 标准版 2.7.5 版本中删除。如果你确实想使用 Symfony 3 结构,你可以通过 2 个步骤安装 Symfony 来获得它:
- 创建一个具有版本约束的新 Symfony 项目,以便您获得 2.6 版本,它仍然询问您是否要使用新的目录结构。
- 然后更改版本约束
symfony/symfony
包,这样您仍然可以获得最新版本。
因此,从命令行执行以下命令:
SENSIOLABS_ENABLE_NEW_DIRECTORY_STRUCTURE=true composer create-project symfony/framework-standard-edition project-directory/ "2.6.*"
cd project-directory
composer require symfony/symfony ^2.7
注意:我实际上并不推荐这样做,因为这是不是官方推荐的创建新 Symfony 项目的方法 https://symfony.com/download。因此,除非您真的知道自己在做什么,否则只需使用 Symfony 安装程序来创建新项目即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)