Symfony2 - 如何删除Doctrine Bundle?

时间:2011-10-10 11:32:31

标签: doctrine symfony bundle

我目前正在使用Symfony2进行项目,我不需要Doctrine Bundle。我曾尝试在很多场合删除它,但我不断遇到错误导致安装失败。

我已经对app目录中的所有“Doctrine”实例进行了grep,并在以下文件中注释了对Doctrine的任何引用:

  • 应用程序/配置/ config.yml
  • 应用程序/ AppKernel.php
  • 应用程序/ autoload.php

然后我清除了缓存(当前在开发模式下工作,因此删除了缓存/ dev目录)。

我目前得到的错误是: 致命错误:第45行的/path/to/application/app/cache/dev/appDevDebugProjectContainer.php中找不到类'Doctrine \ Common \ Annotations \ FileCacheReader'

这是指缓存中的这段代码

/**
 * Gets the 'annotation_reader' service.
 *
 * This service is shared.
 * This method always returns the same instance of the service.
 *
 * @return Doctrine\Common\Annotations\FileCacheReader A Doctrine\Common\Annotations\FileCacheReader instance.
 */
protected function getAnnotationReaderService()
{
    return $this->services['annotation_reader'] = new \Doctrine\Common\Annotations\FileCacheReader(new \Doctrine\Common\Annotations\AnnotationReader(), '/path/to/application/app/cache/dev/annotations', true);
}

但我无法找到一种方法来阻止将其添加到缓存中,因为我找不到与annotation_reader相关的任何设置。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:5)

Symfony使用Doctrine的注释库。您不需要Doctrine的ORM或DBAL,您可以删除它们。但是,如果在项目中的任何位置使用注释,则需要注释阅读器。

编辑:你必须自己测试它。我自己从未尝试过。

这些捆绑包似乎使用注释阅读器:

  • DoctrineBundle
  • DoctrineAbstractBundle
  • SecurityExtraBundle
  • FrameworkExtraBundle
  • FrameworkBundle

请注意,这可能不值得。如果您没有使用给定的服务,则不会创建它们。

答案 1 :(得分:1)