学说、命名空间和自动加载实体

2024-03-26

我想在我的项目中使用 Doctrine 2。我有一些问题。我阅读了文档,但可能我做错了什么。

我想自动加载实体类。并且文档中的方法不起作用。

我的 bootstrap.php

<?php

require_once "vendor/autoload.php";
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Mapping\Driver;

$paths = array("../Entities");
$isDevMode = false;

$classLoader = new \Doctrine\Common\ClassLoader('Entities','../Entities');
$classLoader->register();

// the connection configuration
$dbParams = array(
    'driver'   => 'pdo_mysql',
    'user'     => 'xxx',
    'password' => 'xxx',
    'dbname'   => 'xxx',
);

$driver = new Doctrine\ORM\Mapping\Driver\AnnotationDriver(new Doctrine\Common\Annotations\AnnotationReader(),array('../Entities'));
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$config->setMetadataDriverImpl($driver);
$em = EntityManager::create($dbParams, $config);

我的模型类位于实体目录中。我使用doctrine客户端生成了它们。他们看起来还不错。开头有 ids、setter、getter 和命名空间。

/实体/ArticleCat.php

<?php

namespace Entities;

use Doctrine\ORM\Mapping as ORM;

/**
 * ArticleCat
 *
 * @ORM\Table(name="article_cat")
 * @ORM\Entity
 */
class ArticleCat
{

我想在其中使用学说的脚本:

<?php
  require_once 'bootstrap.php';

  $article = $em->find('ArticleCat', 21);
  echo $article->getName();

它不起作用。只有当我以这种方式使用它时它才起作用并且我从实体模型中删除命名空间.

<?php
  require_once 'bootstrap.php';
  require_once 'Entities/ArticleCat.php'; //this line added (manual load)


  $article = $em->find('ArticleCat', 21);
  echo $article->getName();

使用条令和自动加载实体的正确方法是什么?为什么命名空间是一个问题?

我的错误:

Fatal error: Uncaught exception 'Doctrine\Common\Persistence\Mapping\MappingException' 
with message 'Class 'ArticleCat' does not exist' in 
/myproject/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php:96
Stack trace: #0 /myproject/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php(40): 
Doctrine\Common\Persistence\Mapping\MappingException::nonExistingClass('ArticleCat') 
#1 /myproject/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping
   /AbstractClassMetadataFactory.php(267): Doctrine\Common\Persistence\Mapping
   \RuntimeReflectionService->getParentClasses('ArticleCat') 
#2 /myproject/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping
   /AbstractClassMetadataFactory.php(297): Doctrine\Common\Persistence\Mapping
   \AbstractClassMetadataFactory->getParentClasses('ArticleCat') 
#3 /myproject/vendor/doc in /myproject/vendor/doctrine/common/lib/Doctrine/Common/Persistence
   /Mapping/MappingException.php on line 96

尝试使用带命名空间的完全限定类名。 当你遇到以下错误时CG代理类尝试通过运行生成代理类

vendor/bin/doctrine orm:generate-proxies

祝你好运!

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

学说、命名空间和自动加载实体 的相关文章

  • 如何将 JSON 数据从 Android 发送到 php url?

    我想将登录信息从我的应用程序发送到 php url 因为这我的应用程序将崩溃 任何人都可以帮助我解决这个问题 这是我的服务器登录方法 我想将数据发送到此登录方法 Method public method login Parameters 3
  • 增加内存限制时出现奇怪的错误

    我使用的是共享托管环境 PHP 的默认内存限制是 32M 我在 Concrete5 设置方面遇到一些问题 当我尝试登录 Concrete5 的管理面板时 出现内存限制错误Allowed memory size of 33554432 byt
  • 标准 VBA 函数“找不到项目或库”

    因此 我必须在我的 PC 上运行别人的 Excel 应用程序 并且在标准函数 如日期 格式 十六进制 中间等 上收到 找不到项目或库 的信息 一些研究表明 如果我在这些函数前加上 VBA 前缀 如 VBA Date 中那样 它会正常工作 网
  • 如何在PHP中获取div中的所有链接

    我想从另一个网站打开一个页面 并提取一个中的所有链接 href div of class layout 2 2 在此页面中 我如何使用 PHP 来做到这一点 我想复制layout 2 2中的每个链接this https url 网页 这是我
  • node-mongodb-native的插入性能

    我正在使用 MongoDB 测试 Node js 的性能 我知道其中每一个都很好 彼此独立 但我正在尝试一些测试来感受它们 我遇到了这个问题 但无法确定来源 问题 我正在尝试在单个 Node js 程序中插入 1 000 000 条记录 它
  • 如何使用 PHP 查找字符串中字符的序列模式?

    假设我有随机的文本块 EAMoAAQAABwEBAAAAAAAAAAAAAAABAgMFBgcIBAkBAQABBQEBAAAAAAAAAAAAAAAGAgMEBQcBCBAAAQMDAgMEBQcIBQgGCwEAAQACAxEEBSEG
  • Composer 无法下载文件

    我正在尝试在命令行上使用作曲家 php composer phar update php composer phar install php composer phar self update php composer phar selfu
  • 是否可以在 PHP 中使用 file_get_contents 来破坏 CSRF 令牌验证

    在每个会话的表单上使用令牌的 CSRF 预防方法是一种流行的方法 但是 我不明白这种令牌方式如何保护file get contentsPHP 可以获取跨域文件表单的内容 gt 它可以获取表单上的令牌并使用它 那么这种token方式是如何运作
  • Composer 安装要求

    我正在尝试将 Composer 安装到 Laravel 项目中 当我做的时候sudo composer install在项目目录中它显示了两个错误 Problem 1 Installation request for simplesoftw
  • PHP-列出一年中一个月中的所有天[重复]

    这个问题在这里已经有答案了 可能的重复 我在 PHP 中有 2 个日期 如何运行 foreach 循环来遍历所有这些日期 https stackoverflow com questions 3207749 i have 2 dates in
  • CakePHP - 选择性 SSL

    如何对网站的某些部分强制使用 HTTPS 例如登录页面或注册页面 并使用 HTTP 来完成网站的其余部分 我最喜欢的强制转换为 https 的方法是将其作为 php 脚本中的第一件事 它可以在 Joomla 中运行 也可以在 CakePHP
  • 在 laravel 中禁用特定路由的 csrf

    我有一个支付系统 数据被提交到第三方网站然后被拉回 当数据返回时 它会到达特定的 url 比如 ok 路由 REQUEST transaction 但由于 Laravel 中间件 我遇到了令牌不匹配的情况 第三方支付API无法生成token
  • 为什么我的 PHP 脚本无法对其创建的文件进行 chmod?

    我有一个 php 创建一个需要可执行的文件 它是一个需要由系统运行的批处理文件 由于某种原因 即使该文件归 apache 所有并且 php 作为 apache 运行 并且创建了该文件 该脚本还是在 chmod 行处终止 我需要进行哪些不同配
  • laravel 5.3 新的 Auth::routes()

    最近开始使用laravel 5 3写博客 但是运行后出现一个问题php artisan make auth 当我运行这个时 它会在我的web php 这是其中的代码 Auth routes Route get home HomeContro
  • AFNetworking 上传图片

    我看过一些例子 但我认为我的问题可能出在 PHP 中 我正在尝试使用 AFNetworking 将图像从 iPhone 上传到服务器 这是我的 obj c 代码 IBAction uploadButtonClicked id sender
  • 检查一个类是否是另一个类的子类

    我想在不创建实例的情况下检查一个类是否是另一个类的子类 我有一个类 它接收类名作为参数 作为验证过程的一部分 我想检查它是否属于特定的类系列 以防止安全问题等 有什么好的方法可以做到这一点吗 is subclass of http php
  • Doctrine2:入门教程“没有要处理的元数据类”

    我已经将本教程的第一部分运行了三遍 到目前为止 在这里或其他地方进行的大量搜索都无法帮助我使其发挥作用 我收到 没有要处理的元数据类 当我尝试时 php vendor bin doctrine orm schema tool update
  • 是否可以使用流上下文在 PHP 下使用 FTPS?

    我了解到使用ftpsPHP for Windows 下的 ftp ssl connect 很困难 您被要求进入构建自己的二进制文件以包括 Open SSL 的漫长旅程 我找到了以下建议phpseclib http phpseclib sou
  • 计算特定产品类别的购物车商品数量

    我试图仅从 WooCommerce 中的特定产品类别获取购物车中的商品数量 我正在为一家酒厂做一个网站 它有酒精和非酒精产品 所有葡萄酒都属于 葡萄酒 主类别或类别 ID 34 其下有许多子类别和产品 对于属于此类别的任何商品 我需要知道此
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4

随机推荐

  • Rails/ActiveRecord 按月+年分组并计数

    我有一张桌子Albums有一个date列名为release date 我想获得所有月份 年份组合的列表以及该月份 年份发行的专辑数量 因此 输出可能类似于 2016 年 11 月 11 2016 年 10 月 4 2016 年 7 月 19
  • DropArea 不会通知有关 onEntered、onExited、onDropped 的操作

    I have Rectangle洋溢着MouseArea其中上onPressAndHold 处理程序透露第二个Rectangle和转账drag对此采取行动Rectangle 问题是当我移动那一秒时Rectangle over DropAre
  • Kendo UI 树视图父节点不带复选框

    什么方法可以实现显示带有复选框的 TreeView 但我不需要父节点的复选框 仅适用于没有子项的 项目 即 我正在显示文件夹结构 但不希望仅针对文件为任何文件夹设置复选框 Thanks 你应该使用使用复选框模板 http docs kend
  • 64 位 Windows 上的 32 位和 64 位互操作性

    是否有讨论 32 位和 64 位进程之间的互操作性的全面权威参考资料 根据谷歌搜索 我推断出 32位DLL只能驻留在32位进程中 64位DLL只能驻留在64位进程中 32位和64位进程只能使用松散耦合的消息系统进行通信 例如网络通信 这意味
  • 按属性名称对 JavaScript 对象进行排序

    我已经寻找了一段时间 想要一种对 Javascript 对象进行排序的方法 如下所示 method artist getInfo artist Green Day format json api key fa3af76b9396d0091c
  • Typescript 抽象属性

    几天前我开始学习打字稿 我知道所有主要的 OOP 概念 但我只是不理解抽象属性背后的概念 我知道您必须在子类中重写 实现基类的抽象成员 但是 它有什么用呢 我了解抽象方法背后的概念 但不是这个 如果您能为我提供一些很好的例子 我将非常感激
  • Scala 逐行调度流响应

    我正在尝试使用 Scala 调度 但既是 Scala 新手 又面对 Dispatch api 符号疯狂的问题 我对如何流式传输大型 http 响应并逐行处理它感到困惑 任何帮助 将不胜感激 干杯 克里斯 Note 这对我不起作用 Http
  • 散点图对数刻度

    在我的代码中 我取两个数据系列的对数并绘制它们 我想通过将 x 轴的每个刻度值提高到 e 次方 自然对数的反对数 来更改它 换句话说 我想绘制两个系列的对数 但 x 轴为水平 这是我正在使用的代码 from pylab import sca
  • 取决于特定项目的公共单元中的条件编译?

    在Delphi XE2中 我有一个单元MyUnit pas由两个不同的项目使用ProjectA and ProjectB MyUnit包含一个声明DoSomething 这是在其他单位实施的程序其他单位 pas 现在我想用条件编译包括DoS
  • vb6中动态两级或多级子菜单生成

    朋友们 告诉我怎么做生成1级以上的子菜单在VB6中运行时 简单解释一下 有什么具体的控制措施吗 但我不想使用外部控件 您可以使用API 函数创建多级子菜单 Private Declare Function CreatePopupMenu L
  • 将 jQuery 插件转换为 TypeScript

    好的 首先这是我非常基本的 jQuery 插件 function fn greenify function options var settings extend These are the defaults color 556b2f ba
  • Selenium WebDriver 测试失败并出现 System.Net.WebException 无法连接

    我正在开发一套 Selenium WebDriver 不是 Selenium RC 也不使用 Selenium Server 测试 这些测试是通过命令行调用 MSTest 来执行的 我已将它们分解为我们计划测试的每个浏览器 目前是 Chro
  • Docker-Compose、NGINX 和热重载配置

    我有一个通过 docker compose 运行的功能全栈应用程序 奇迹般有效 唯一的问题是团队必须重建整个应用程序以反映更改 这意味着把整个事情搞砸docker compose down 我正在寻求帮助来更新下面的文件以允许热重载 OR
  • 是否可以将多个参数传递给 Ember Power Select 中的 onChange 操作?

    我目前正在使用优秀的ember 电源 选择 https ember power select com作为一部分添加ember bootstrap 形式 https www ember bootstrap com api classes Co
  • 将另一个 data.frame 中的一行添加到 qplot

    是否可以在现有绘图中添加一条线 例如附加时间序列 我知道如何添加水平或垂直线 但如何从其他 data frames 添加 q myplot lt qplot datefield myvalue data mydf geom c line c
  • 如何在 Qt 中将 foreach 与 QDomNodeList 一起使用?

    我是 Qt 新手 每天都在学习新东西 目前 我正在利用空闲时间为我的诺基亚 N900 开发一个小型应用程序 一切都很好 我可以在设备上编译和运行 Maemo 应用程序 我刚刚了解到foreachQt 中的关键字 我知道它不在 C 中 所以我
  • cakephp 验证和正则表达式

    我正在 cakephp1 3 工作 我必须使用 model i 中的 cakephp 验证来验证我的表单 我添加了一个正则表达式来限制特殊字符输入 我的代码写如下 var validate array name gt array uniqu
  • Android 模拟器出现蓝屏死机

    无论我从 Android SDK 和 AVD Manager 创建哪种类型的 Android 虚拟设备 每当我启动它时 我的整个笔记本电脑都会在出现蓝屏死机后关闭 我在事件系统日志中看到此错误 驱动程序 VPCAppSv sys 已被阻止加
  • 如何增加 jQuery 变量?

    我正在尝试使用 jquery 浏览图片库 因此我有一个按钮 该按钮应该将变量加 1 然后使用它来加载下一张图片 使用最上面的答案this https stackoverflow com questions 11338499 incremen
  • 学说、命名空间和自动加载实体

    我想在我的项目中使用 Doctrine 2 我有一些问题 我阅读了文档 但可能我做错了什么 我想自动加载实体类 并且文档中的方法不起作用 我的 bootstrap php