【问题标题】:Slim RuntimeException when extending a controller class扩展控制器类时出现 Slim RuntimeException
【发布时间】:2019-07-24 15:15:03
【问题描述】:

错误是:

致命错误:未捕获的异常“RuntimeException”与消息“输出缓冲区中的意外数据”。也许你在开场前就有角色

我已经构建了一个非常简单的控制器类来处理我正在处理的 MVC 的路由和渲染。我在容器中注册了所有控制器并设置了调用它们的路由,例如'className:methodName',它正在工作。尽管每个控制器都需要一个构造函数来设置容器,以便我可以呈现 php 视图。干掉这似乎是件好事,所以我做了一个抽象类

abstract class Controller {
    public $container;

    function __constructor($container = null){
         $this->container = $container;
    }
}

字面上只改变了一个抽象层,但这是发生上述错误的时候。

我可以通过添加以下设置来解决这个问题:

addContentLengthHeader = false

这很好,因为我仍然可以工作,但我不确定 A) 为什么设置内容长度是为了增加安全性还是什么? B)为什么这种抽象会导致这种情况发生,我应该做一些不同的事情吗?

【问题讨论】:

  • 当您在类声明之前或之后有空格或其他字符时会出现此错误。请检查您的源文件在开始 PHP 标记之前是否有空格
  • @geggleto 不推荐使用究竟是什么?结束标签?
  • 是的。它解决了很多空白问题
  • @geggleto 就是这样,谢谢!

标签: php oop slim slim-3


【解决方案1】:

当您在类声明之前或之后有空格或其他字符时,会出现此错误。请在打开 PHP 标记之前检查您的源文件是否有空格

【讨论】:

    猜你喜欢
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 2012-01-10
    • 2016-05-06
    相关资源
    最近更新 更多