ClassNotFoundException:尝试从全局命名空间加载类“MongoId”

时间:2014-02-07 09:11:33

标签: php mongodb symfony

我正在尝试将MongoDB软件包安装到Symfony2中。我关注了Symfony文档。

我的config.yml文件是:

doctrine_mongodb:
connections:
    default:
        server: mongodb://localhost:27017
        options: {}
default_database: test_database
document_managers:
    default:
        auto_mapping: true

我的自动加载文件是:

use Doctrine\Common\Annotations\AnnotationRegistry;
use Composer\Autoload\ClassLoader;
$loader = require __DIR__.'/../vendor/autoload.php';

AnnotationRegistry::registerLoader(array($loader, 'loadClass'));

use Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver;
AnnotationDriver::registerAnnotationClasses();

return $loader;

控制器和文档/产品文件是从Symfony站点完全复制的(我只将名称AcmeStoreBundle更改为MyTestBundle)。

但是当我尝试插入数据时,出现以下错误:

ClassNotFoundException: Attempted to load class "MongoId" from the global namespace in     
C:\wamp\www\MongoTest2\vendor\doctrine\mongodb-odm\lib\Doctrine\ODM\MongoDB\Id\AutoGenerator.php line 36.
Did you forget a use statement for this class?

(我清除了缓存并再次尝试)

请帮我理解出了什么问题。

1 个答案:

答案 0 :(得分:0)

安装作曲家软件包alcaeus/mongo-php-adapter,因为它具有MongoId类。这对我也有帮助