Symfont 2.8中的错误 - 无法重新声明类Symfony \ Component \ DependencyInjection \ ContainerAwareInterface

时间:2016-02-03 11:44:34

标签: symfony caching redeclare symfony2-easyadmin

你能帮我解决这个问题吗? 我使用 Symfont 2.8 EasyAdminBundle 。 我使用本手册来安装 - symfony2-admin-panel-in-30-seconds

管理面板工作正常,但是当我尝试创建我的(非管理员)类时,我收到错误:无法重新声明/ var / www / html / Legendcorp /中的类Symfony \ Component \ DependencyInjection \ ContainerAwareInterface第6568行的app / cache / dev / classes.php

例如:我在/src/AppBundle/Controller/APIController.php中创建了类

class MyProxyModel : public QIdentityProxyModel
{
  // ...
};

QVariant MyProxyModel::data(const QModelIndex &index, int role) const override
{
  if (  /*Conditions when you don't want to change source text*/ )
    return QIdentityProxyModel::data( index, role );

  // Extra check for editors or other roles to return original data
  if ( role == Qt::EditRole || role != Qt::DisplayRole )
    return QIdentityProxyModel::data( index, role );

  const auto sourceIndex = mapToSource( index );
  const auto originalText = sourceModel()->data( sourceIndex, Qt::DisplayRole ).toString();
  const auto newText = QString( "%1 [TEST]" ).arg( originalText );

  return newText;
}

// Usage
auto yourModel = YourOriginalModel( this );
auto proxy = MyProxyModel( this );
proxy->setSourceModel( yourModel );
view->setModel( proxy );

但是当我尝试申请这个课时,我收到了一个错误。 -

  • namespace AppBundle\Controller; use JavierEguiluz\Bundle\EasyAdminBundle\Controller\AdminController as BaseAdminController; use Symfony\Component\HttpFoundation\Request; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; class FormController extends BaseAdminController{ /** * @Route("/form/save", name="save") */ public function formAction(Request $request){ } }

如果我清除了缓存( rm -rf app / cache / * ),它将正常工作,,但只要您不联系管理面板。

这是我的composer.json文件:

Fatal error: Cannot redeclare class Symfony\Component\DependencyInjection\ContainerAwareInterface in /var/www/html/Legendcorp/app/cache/dev/classes.php on line 6568

}

拜托,你能帮助我吗?

1 个答案:

答案 0 :(得分:1)

您关注的博客文章非常好,但是对于安装软件包之类的东西,我总是建议您遵循官方文档。在这种情况下:来自EasyAdmin的文档的Chapter 1. Installation

关于ContainerAwareInterface错误,我会说它与捆绑包无关。我们不在任何地方使用该接口,也不使用ContainerAware类。如果删除捆绑包,Symfony应用程序是否正常运行?