我最近注意到了这一点,从干净的Symfony2安装中删除了AcmeDemoBundle(来自AppKernel,routing_dev.yml等)。我生成了bundle并注意到bundle的Target目录已经改变,每次我创建一个新bundle时,我都必须手动放入它的正确路径。似乎是最新版Symfony2的问题。
在创建包期间更改了目标目录行:
Target directory [/var/www/html/Project/app/cache/dev/../src]:
用于指出的路径为:
Target directory [/var/www/html/Project/src]:
因为我安装了一个干净的版本并且没有改变任何设置,我感到很茫然。 当我安装Symfony2时,我使用了以下内容:(这与我之前使用的方法相同)
composer create-project symfony/framework-standard-edition Project @stable
php app / console generate:bundle(参见最后一行)
Welcome to the Symfony2 bundle generator
您的应用程序代码必须以捆绑方式编写。这个命令有帮助 你很容易生成它们。
每个包都托管在命名空间下(如Acme / Bundle / BlogBundle)。 命名空间应以“供应商”名称开头,例如您的公司名称 项目名称或您的客户名称,后跟一个或多个可选类别 子命名空间,它应该以包名称本身结束 (必须将Bundle作为后缀)。
有关详情,请参阅http://symfony.com/doc/current/cookbook/bundles/best_practices.html#index-1 捆绑命名约定的详细信息。
使用/而不是\来命名空间分隔符以避免任何问题。
Bundle命名空间:Foo / FooBundle
在您的代码中,捆绑包通常由其名称引用。它可以是 所有命名空间部分的连接,但它真的取决于你 使用唯一名称(一个好的做法是从供应商名称开始)。 基于命名空间,我们建议使用FooFooBundle。
捆绑名称[FooFooBundle]:
可以在任何地方生成捆绑包。建议的默认目录使用 标准惯例。
目标目录[/var/www/html/Project/app/cache/dev/../src]:
答案 0 :(得分:1)
通过更新作曲家修复:
composer self-update
然后创建一个新项目。