pgu*_*how 30 php exception symfony
我想在Symfony开始一个新的3.3项目并像往常一样开始:
1.)创建新项目: symfony new ArtProject
2.)创建一个新的Bundle :( php app/console generate:bundle
Paul/ArtBundle,yml,src /)
然后我运行本地服务器,当我打开127.0.0.1:8000时,我得到了这个美丽的信息:
(1/1)ClassNotFoundException
尝试从命名空间"Paul\ArtBundle"加载类"PaulArtBundle".您是否忘记了另一个命名空间的"use"语句?在AppKernel.php中(第19行)
这很奇怪,我还没弄清楚到目前为止发生这种情况的原因.在创建Bundle之前,没有错误; 我看到了symfony的典型起始.
public function registerBundles()
{
$bundles = [
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
......
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new AppBundle\AppBundle(),
new Paul\ArtBundle\PaulArtBundle(),
];
}
Run Code Online (Sandbox Code Playgroud)
<?php
namespace Paul\ArtBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class PaulArtBundle extends Bundle
{
}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?我没有更改任何东西,我只运行这些命令.
Cer*_*rad 67
我刚刚安装了S3.3.4的新副本(截至本文撰写时的最新版本):
composer create-project symfony/framework-standard-edition s334 "3.3.4"
bin/console generate:bundle
Share across multiple apps: yes
namespace: Paul\ArtBundle
bundle name: PaulArtBundle
Target Directory: src/
Run Code Online (Sandbox Code Playgroud)
刷新浏览器,果然我得到了类未找到的消息.
当引入新的命名空间时,generate:bundle命令不会更新composer.json的autload部分.编辑composer.json并:
# composer.json
"autoload": {
"psr-4": {
"AppBundle\\": "src/AppBundle",
"Paul\\": "src/Paul"
},
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
Run Code Online (Sandbox Code Playgroud)
然后跑
composer dumpautoload
Run Code Online (Sandbox Code Playgroud)
然后重启服务器(可能).这应该修复bundle类未找到的问题.
我没有使用generate:bundle命令已经有一段时间了,因为标准是将所有内容放在AppBundle之下所以我不知道这已经"破坏"了多久.但在过去一周左右至少有三个问题表明这是近期的事情.
顺便说一句,当我刷新浏览器时,我得到了"Hello World",它让我有点兴奋.原来这个新的包覆盖了/ route,这也很特别.
如果有人想知道为什么会这样,Symfony 3.2改变了
#composer.json
"psr-4": { "": "src/" },
To
"psr-4": { "AppBundle\\": "src/AppBundle" },
Run Code Online (Sandbox Code Playgroud)
您可以随时更改它,但我认为拼写出单个命名空间可能会"更好".不确定.
这是一个更详细的问题:https://github.com/symfony/symfony-standard/issues/1098
看起来维护人员比打破现有命令更有利于提高速度.那好吧.Symfony Flex应该让一切变得更好.
归档时间: |
|
查看次数: |
16176 次 |
最近记录: |