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