【发布时间】:2015-12-19 16:48:57
【问题描述】:
我目前正在尝试将我的 Symfony2 应用程序升级到 Symfony3。我有一个SecurityController 覆盖了FOSUserBundle\SecurityController:
namespace Acme\MyBundle\Controller;
use Symfony\Component\DependencyInjection\ContainerAware;
class SecurityController extends ContainerAware
{
// ...
}
但我得到一个ClassNotFoundException:
尝试从命名空间“Symfony\Component\DependencyInjection”加载类“ContainerAware”。
您是否忘记了另一个命名空间的“使用”语句?
是否有任何我在upgrade notes 中找不到的更改。有人可以指点我解决这个问题的方法吗?
【问题讨论】:
-
不再有 ContainerAware 类。但更有趣的是,在 S3 下加载的唯一 FOSUserBundle 版本是开发分支。您很可能使用不兼容的 1.3 分支。归根结底,将基于 FOSUserBundle 的应用程序升级到 S3 至少可以说有点挑战。
-
您认为我使用的是 FOSUB 1.3 吗?因为我没有,所以我在 2.0 分支使用 dev:
"friendsofsymfony/user-bundle": "~2.0@dev"。感谢有关删除ContainerAware的提示。
标签: namespaces upgrade symfony