Symfony2:从捆绑包中自动加载/注册名称空间

Symfony2:从捆绑包中自动加载/注册名称空间,symfony,Symfony,我正在开发一个捆绑包,其中使用了CouchDB-ODM原则。如何从捆绑包中自动加载和注册名称空间?以下是我需要移动的app/autoload.php中的相关工作行: use Symfony\Component\ClassLoader\UniversalClassLoader; $loader->registerNamespaces(array( // ... 'Doctrine\\CouchDB' => __DIR__.'/../vendor/doctrine-od

我正在开发一个捆绑包,其中使用了CouchDB-ODM原则。如何从捆绑包中自动加载和注册名称空间?以下是我需要移动的
app/autoload.php
中的相关工作行:

use Symfony\Component\ClassLoader\UniversalClassLoader;

$loader->registerNamespaces(array(
    // ...
    'Doctrine\\CouchDB' => __DIR__.'/../vendor/doctrine-odm/lib',
    'Doctrine\\ODM\\CouchDB' => __DIR__.'/../vendor/doctrine-odm/lib',
));

谢谢大家!

添加了Composer以解决此问题:

为什么你需要移动它们?通常你不必这样做。只需将声明放在你的
应用程序/autoload.php
中,如果捆绑包对公众可用,请将信息添加到自述文件中。这样做的目的是消除实现此捆绑包的人向他们的
应用程序添加内容的需要@alessandro1997暗示添加到
app/autoload.php
是唯一的方法,这可以解释为什么我没有找到任何说明!这是一个有趣的问题,但我认为最好将名称空间声明保留在autoload.php中,以避免在bundle中直接定义名称空间声明时出现重复。一个不太可能的场景,但仍然是可能的,并且对调试来说很烦人:)Composer是为解决这个问题而开发的工具:提供的链接不再工作。你能在这里添加/粘贴相关的答案吗?嘿,这有点过时了,因为Composer已经成为PHP社区的依赖关系管理标准,取代了PEAR