使用 Symfony 和 Doctrine 调用 null 500 上的成员函数 has()

2024-02-04

我在设置要从以下服务文件运行的学说时遇到一些问题。

<?php

// src/AppBundle/Services/SuperusersService.php
namespace AppBundle\Services;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Doctrine\ORM\EntityManager;

class SuperusersService extends Controller
{

    public function sayHello()
    {

        $em = $this->getDoctrine()->getManager();

         // Query here

    }

}

当我运行上述命令时,我收到以下错误消息。

在 null 500 内部服务器错误上调用成员函数 has() - 致命可抛出错误

我从以下控制器文件中调用该文件。

<?php

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

class LoginController extends Controller
{
    /**
     * @Route("/login")
     */
    public function indexAction(Request $request)
    {

        if(!empty($_POST)){

            ////
            // If for submitted attempt to log the user in.
            ////

            $superusersService = $this->get('app.superusers.services');

            $superusersService->sayHello();

        }

        $name = "Login";

        return $this->render('login/login.html.php', 
        array());

    }
}

服务档案

# Learn more about services, parameters and containers at
# http://symfony.com/doc/current/service_container.html
parameters:
#    parameter_name: value

services:
#    service_name:
#        class: AppBundle\Directory\ClassName
#        arguments: ["@another_service_name", "plain_value", "%parameter_name%"]
    app.superusers.services:
            class: AppBundle\Services\SuperusersService

现在我已经查看了其他问题,但到目前为止我还无法解决上述问题。我认为这与文件的设置有关,但我不确定是什么。


当控制器被声明为服务时,容器属性不再存在,因此您无法再获取服务

$this->get('service_name')

解决方案:您需要像常规服务一样注入依赖项,这是一个example https://symfony.com/doc/current/controller/service.html#alternatives-to-base-controller-methods

顺便说一句,我不确定这是否只是测试代码,但您可能应该避免使用 $_POST 全局变量,您可以使用提供的 $request 方法。

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

使用 Symfony 和 Doctrine 调用 null 500 上的成员函数 has() 的相关文章

随机推荐

  • 为什么我的事件处理程序的目标是 <>c?另外 - <>c 到底是什么?

    继规格 https stackoverflow com help mcve要创建最小 完整和可验证的代码集 请参见以下内容 using System using System Data using System Linq using Sys
  • 这里 typename 是否是必需的?

    考虑代码 include
  • App Store 中显示的语言错误!

    上周我向 App Store 发布了我的第一个应用程序 我所看到的是 应用程序商店中显示的应用程序语言不正确 我的应用程序只有德语版本 但在 App Store 中显示的是英语 有人可以告诉我我到底该怎么做才能使应用商店中的语言为德语吗 我
  • 如何在 iPhone 或 iPad 上获取路线

    您好 我想在我的应用程序中显示类似以下内容 您的目的地是西北 400 英尺 我目前使用 getDistanceFrom 方法 但这只能提供两个位置之间的脚 感谢您的帮助 您可能应该简单地使用纬度经度方程来计算方位角 然后将某些方位角范围设置
  • 如何高效识别二进制文件

    识别二进制文件最有效的方法是什么 我想从二进制文件中提取某种签名 并用它与其他文件进行比较 暴力方法是使用整个文件作为签名 这将花费太长的时间和太多的内存 我正在寻找一种更聪明的方法来解决这个问题 并且我愿意为了性能而牺牲一点准确性 但不是
  • 使用C#和YubiKey添加winlogon登录方法

    至于个人乐趣和挑战 我想添加一种在我自己的个人电脑上登录的方式 目前所有用户都使用 Windows 7 通常这会使用 ICredentialProvider 或类似的东西 基本上 这里的目标是有两种登录方式 普通用户 密码登录方式和使用 Y
  • SonarQube 以 143 退出

    我正在尝试在具有 6GB RAM 的 Centos 6 VM 上设置 SonarQube 该进程始终以 143 退出 经过分析 我发现 JVM 被发送了一个 SIGTERM 信号并因此退出 没有核心转储 dmesg 也没什么帮助 我也尝试摆
  • Windows Phone 枢轴显示在应有的位置之上

    我有以下xaml
  • 如何用最简单的方式快速画一条线

    我对 swift 和 Xcode 相当陌生 我正在尝试制作一个井字游戏 除了如何通过三个 x 或 o 画一条线之外 我已经弄清楚了所有事情 我不知道如何画线 我在网上寻找答案 但无法弄清楚 尝试查看 UIBezierPath 它将对您绘制线
  • 如何使用 fstream fstream::app 标志附加到文件似乎不起作用

    我只是想写入 附加 到日志文件 我在这里查了一下 http www cplusplus com reference iostream fstream open http www cplusplus com reference iostrea
  • 转换 Symfony2 PHP 实体对象以在 Javascript 中使用

    我正在尝试从 PHP 对象打开数据 如下所示 但我希望能够在 JavaScript 中访问此数据以在图形库中使用 有问题的对象 我需要做的是将其转换为 JSON 编码对象以在 Javascript 中使用 我尝试在 Symfony 中使用
  • 嵌套的 Angular2 异步管道如何解决?

    我对嵌套异步管道如何以及何时在 angular2 模板中解析感到有点困惑 而且文档现在的位置不是很好 所以我希望有人可以提供帮助 我有一个非常简单的 Rxjs Observable 从服务返回 通过Observable of myArray
  • 从已删除的远程分支中获取原点?

    当我做git fetch origin并且 origin 有一个已删除的分支 它似乎没有在我的存储库中更新它 当我做git branch r它仍然显示origin DELETED BRANCH 我怎样才能解决这个问题 您需要执行以下操作 g
  • ASP.NET Core Signalr 无法在 AWS 上运行

    我们有两个应用程序 服务器端 Net Core 2 0 和客户端 AngulerJs 它们托管在AWS elistic容器服务上 另外 还有一层云耀斑 此外 我们正在使用指向我们的 docker 容器的 ALB 我们的解决方案应该有一个实时
  • 在 Chrome 中清除焦点上的 HTML5 占位符属性文本

    有什么办法可以清除吗placeholder焦点上的文字Chrome Firefox 会清除焦点上的文本 但 Chrome 不会 这会让用户感到困惑的是 栏中的文本是键入的 还是占位符文本 即使我将文本颜色更改为浅灰色 我不想为此使用不必要的
  • 从对象字面量获取链接值,onchange--Javascript/HTML select

    我知道如何使用 switch case 例程操作此菜单 但我想将 switch case 更改为对象文字 A 部分知道如何获取 onchange 值并打开一个窗口 B 部分知道如何在对象中的名称 值对中查找值 但前提是给它一个硬编码名称来匹
  • cvs更新错误

    我正在使用 WinCVS 当我尝试更新模块时 我不断收到此错误 cvs 更新中止 从服务器读取 错误 1 这里的实际问题是什么以及如何解决这个问题 我遇到了这个问题和类似的问题 通过尝试 CVSROOT pserver 字符串的变体来解决
  • 二元运算符 + 的错误操作数类型

    我需要一个最多 20 位的数字 并且我正在使用 bigint 它在下面的行给了我这个错误 二元运算符 的操作数类型错误 BigInteger t new BigInteger my number getText toString my nu
  • Spring 没有独特的 bean 类型

    我在 Spring 中遇到了一个服务的两个组件的小问题 我有这个组件 Component public class SmartCardWrapper 和这个 Component public class DummySmartCardWrap
  • 使用 Symfony 和 Doctrine 调用 null 500 上的成员函数 has()

    我在设置要从以下服务文件运行的学说时遇到一些问题