Zend Framework 2 的注释命名空间未加载 DoctrineMongoODMModule

2024-02-22

我已经加载了 zf2 的 Doctrine MongoODM 模块。我的控制器中有文档管理器,一切都很顺利,直到我尝试保留文档。它因以下错误而失败:

“[语义错误] SdsCore\Document\User 类中的注释“@Document”从未导入。”

DocParser.php 的这一行似乎失败了if ('\\' !== $name[0] && !$this->classExists($name)) {

它失败了,因为$name = 'Document',导入的注解类为'Doctrine\ODM\MongoDB\Mapping\Annotations\Doctrine'

这是我的文档类:

namespace SdsCore\Document;

/** @Document */
class User
{

/** 
 * @Id(strategy="UUID") 
 */
private $id;

/** 
 * @Field(type="string") 
 */
private $name;

/** 
 * @Field(type="string") 
 */
private $firstname;

public function get($property) 
{
    $method = 'get'.ucfirst($property);
    if (method_exists($this, $method))
    {
        return $this->$method();
    } else {
        $propertyName = $property;
        return $this->$propertyName;
    }           
}

public function set($property, $value) 
{
    $method = 'set'.ucfirst($property);
    if (method_exists($this, $method))
    {
        $this->$method($value);
    } else {
        $propertyName = $property;                
        $this->$propertyName = $value;
    }
}    

}

这是我的动作控制器:

public function indexAction()
{
    $dm = $this->documentManager;

    $user = new User();
    $user->set('name', 'testname');
    $user->set('firstname', 'testfirstname');
    $dm->persist($user);
    $dm->flush;

    return new ViewModel();
}  

我还没有开始工作DoctrineMongoODMModule,但我会在下周进行。无论如何,您仍在使用加载注释的“旧方法”。大多数学说项目现在都在使用Doctrine\Common\Annotations\AnnotationReader https://github.com/doctrine/common/blob/master/lib/Doctrine/Common/Annotations/AnnotationReader.php,而你的@AnnotationName告诉我你正在使用Doctrine\Common\Annotations\SimpeAnnotationReader https://github.com/doctrine/common/blob/master/lib/Doctrine/Common/Annotations/SimpleAnnotationReader.php。您可以在以下位置阅读更多相关信息学说\通用文档 http://docs.doctrine-project.org/projects/doctrine-common/en/latest/reference/annotations.html

以下是修复文档的方法:

<?php
namespace SdsCore\Document;

use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;

/** @ODM\Document */
class User
{

    /** 
     * @ODM\Id(strategy="UUID") 
     */
    private $id;

    /** 
     * @ODM\Field(type="string") 
     */
    private $name;

    /** 
     * @ODM\Field(type="string") 
     */
    private $firstname;

    /* etc */
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zend Framework 2 的注释命名空间未加载 DoctrineMongoODMModule 的相关文章

  • 在非持久字段更改上保留实体

    我有一个具有 plainPassword 和密码属性的实体 在表单中 我映射到 plainPassword 之后 当用户验证表单时 我对 plainPassword 进行密码验证 为了对密码进行编码 我使用了监听 prePersist 和
  • NodeJS:将 JSON 保存到 MongoDB

    我正在尝试从 API 获取 JSON 并将其存储到 MongoDB 数据库中 显然 这是行不通的 我的应用程序似乎停留在我尝试将数据保存到数据库的位置 请告知该怎么做 这是我的代码 var express require express v
  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • 在单个 mongodb 查询中查找并计数

    我的文档看起来像这样 id ObjectId 572c4bffd073dd581edae045 name What s New in PHP 7 description PHP 7 is the first new major versio
  • 使用 ObjectId 键和字符串数组定义映射作为 mongoose 模式中的值

    我在为数据库创建 Mongoose 架构时遇到问题 我想创建一个以 objectId 作为键 以字符串值数组作为值的映射 我能得到的最接近的是 var schema new Schema map myId type mongoose Sch
  • Mongodb $push 嵌套数组

    我想向我的嵌套数组添加新数据 我的文档是 username erkin email email protected cdn cgi l email protection password b playlists id 58 name asd
  • 如何在 mongodb 聚合管道中使用 Javascript 对象?

    我有一个 JS 对象norm我想在 mongo 聚合管道中使用它 如下所示 var norm 1 1 2 1 16 3 1 413 4 1 622 5 1 6 6 1 753 7 3 001 8 2 818 9 3 291 10 2 824
  • 按一个字段聚合,选择另一个字段最大值的文档作为集合

    使用聚合框架 获取每个分组的字段最大值的文档的最佳方法是什么 因此使用下面的集合 我希望具有为每个具有最新日期的 group id 返回一个文档的功能 第二个清单显示了所需的结果 group id date 1 11 1 12 1 11 2
  • 压缩 zend Framework 2 的 html 输出

    我目前正在 PHP 5 4 4 上使用 Zend Framework 2 beta 开发个人 web 应用程序以用于自学目的 我想知道是否可以在 html 输出发送到浏览器之前拦截它 以便通过删除所有不必要的空格来缩小它 我怎样才能在ZF2
  • 将日期差转换为年数以计算 MongoDB 中的年龄

    我正在使用以下方法来计算时间戳差异中的年龄 db getCollection person aggregate project item 1 DOB personal DOB dateDifference subtract new Date
  • 有没有一种方法可以将python对象直接存储在mongoDB中而不需要序列化它们

    我在某处读到过 您可以使用 BSON 将 python 对象 更具体地说是字典 作为二进制文件存储在 MongoDB 中 但是现在我找不到任何与此相关的文档 有人知道具体如何做到这一点吗 没有办法在不序列化的情况下将对象存储在文件 数据库
  • Express中间件修改请求

    我目前有一个正在运行的服务器 前端使用nodejs mongo express 和 W2UI W2ui 请求来自包含所有参数的记录数组 记录 名称 foo 我想编写一个中间件 在请求到达路由之前对其进行编辑和更改 您可以创建自己的中间件来处
  • Meteor.setTimeout 和 Meteor.methods 之间的并发

    在我的 Meteor 应用程序中实现回合制多人游戏服务器 客户端通过发布 订阅接收游戏状态 并且可以调用 Meteor 方法sendTurn将回合数据发送到服务器 他们无法直接更新游戏状态集合 var endRound function g
  • ACL授权失败后ZF3重定向

    我有一个带有 ACL 的新 ZF3 应用程序 现在 我需要在未经授权的访问的情况下重定向到错误页面 例如 403 我认为最好的方法是触发一个事件 然后捕获它 但我失败了 全部都在我的用户模块中Module php 摘录 namespace
  • 使用 KeystoneJs 的 Mongoose 二级种群 [重复]

    这个问题在这里已经有答案了 我需要用 Mongoose Keystone 填充两层 但遇到了障碍 我有 3 个模型 地区 国家和城市 地区包含国家 国家包含城市 我的模型 型号区域 var Region new keystone List
  • Mongod 错误(用自制程序安装)

    我已经安装了 mongodb brew install mongodb 已创建文件夹 mkdir p data db 处理权限 sudo chown R id un data db Run mongod 错误日志 2018 01 06T14
  • Spring Data MongoDB:聚合框架 - 使用嵌套属性进行排序会抛出无效引用

    I found Spring论坛上的这篇文章 http forum spring io forum spring projects data nosql 130522 spring data mongodb aggregation fram
  • 如何使用对象数组创建猫鼬模式

    我有这个 json data id 1 name Sample test description this is a sample test category tests points 100 startDate 2018 02 15 00
  • Zend 2:如何覆盖模块的配置文件?

    如何覆盖 vendor module name config module config php 下找到的配置文件 不 这个link http akrabat com zend framework 2 overriding module c
  • mongodb 获取最后插入的文档

    此 Meteor 代码尝试查找集合中的最后一个文档 find userId this userId sort createdAt 1 limit 1 但由于所有文档都是按时间顺序排列的 我想删除createdAt字段 所以一旦被 删除 是否

随机推荐