直到几天前,才有可能用new (Symfony 3) directory structure创建一个新的Symfony项目 . 运行 composer create-project symfony/framework-standard-edition path/ "2.5.*"
时,Composer会询问以下问题:
您想使用Symfony 3目录结构吗? [Y / N]
新结构提供了一些改进,例如 console
从 app
目录移动到 bin
目录, phpunit.xml.dist
从 app
目录移动到根目录 . 缓存和日志目录已移至新的 var
目录 .
请查看this answer(由我编写)以获取完整的更改列表 .
但是,全新安装的标准发行版不再提供此选项 . 这似乎是问题has been removed on July 16th,因为新的目录结构造成了太多的混乱,特别是对于新用户 . 另见this issue on GitHub .
是否仍然可以使用新的目录结构创建项目?
3 回答
仍然可以触发问题,并将项目转换为新的目录结构 . (但仅在您创建新项目时,即运行
composer create-project
)为此,您需要将
SENSIOLABS_ENABLE_NEW_DIRECTORY_STRUCTURE
环境变量设置为true
. 这可以通过将SENSIOLABS_ENABLE_NEW_DIRECTORY_STRUCTURE=true
预先添加到Composer命令来完成 .因此,要创建新项目,请在终端中运行以下命令:
和Composer会询问您是否需要新的目录结构 .
更新
正如barius在评论中所述,此功能已从每版本2.7.5的Symfony标准版中删除 . 如果你真的想使用Symfony 3结构,你可以通过两个步骤安装Symfony来获得它:
使用版本约束创建一个新的Symfony项目,以便获得2.6版本,该版本仍然询问您是否要使用新的目录结构 .
然后更改
symfony/symfony
包的版本约束,这样您仍将获得最新版本 .因此,从命令行执行以下命令:
注意:我实际上并不推荐这个,因为这是not the official recommended way to create a new Symfony project . 因此,除非您真的知道自己在做什么,否则只需使用Symfony Installer来创建新项目 .
要在symfony2(> = 2.5)中创建新的symfony3目录结构,您必须执行以下操作:
打开shell /命令提示符并运行follwoing命令来设置临时environment variable:
Linux的:
视窗:
版本2.5和2.6
创建新的symfony3目录结构的问题是在设置环境变量后开箱即用
版本2.7和2.8
要从任何2.7和2.8版本创建新的目录结构,需要执行以下步骤:
安装所需的2.7及更高版本(使用2.7和2.8测试),目前安装2.7.7
然后编辑
composer.json
并添加update-directory-structure
:composer.json:
之后就跑了
回答'y',你就完成了:
console
文件现在位于bin/console
,必须进行调整:更改
至
然后将以下方法添加到文件
app/appKernel.php
中的AppKernel
类:更新:knp university article about migrating to the new directory stucture
学分:@davil
Symfony3 BETA1版本现已发布,
因此,您可以直接使用composer来安装新的symfony3版本 .
如果您尚未安装,请先关注Installing Composer .
然后打开终端并输入以下命令:
注意:这里
symfony3
是将要创建的项目或目录的名称,您可以更改它 .Update: Symfony 3.0是稳定的当前版本,因此可以按照Official guide中的说明直接安装它 . 按照它进行最新版本安装 .
composer create-project symfony/framework-standard-edition my_project_name
您可以查看这些链接,
What is the new Symfony 3 directory structure?
Are your favorite bundle ready for #Symfony3?发表于@FecaBouffe