php - 关于“输出缓冲区中的意外数据”的 Slim 错误与 PHP 标记或结束 PHP 标记之前的字符无关
问题描述
我有这个简单的代码结构:
api.php:
<?php
require_once 'api/Main.class.php';
new Main();
api/Main.class.php:
<?php
require_once __DIR__ . '../../vendor/autoload.php';
require_once 'Router/Router.class.php';
class Main
{
function __construct()
{
$router = new Router();
$router->getRoute();
}
}
路由器/Router.class.php:
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require_once __DIR__.'../../../vendor/autoload.php';
class Router
{
function getRoute()
{
$app = new \Slim\App;
$app->get(
'/',
function (Request $request, Response $response, array $args) {
$response->getBody()->write('Home');
return $response;
}
);
$app->run();
}
}
当我去时,这会产生以下错误api.php
:<b>Fatal error</b>: Uncaught RuntimeException: Unexpected data in output buffer. Maybe you have characters before an opening <?php tag? in /Path/to/project/root/vendor/slim/slim/Slim/App.php:625
这个错误没有给我太多信息。我一直试图让 Slim 在 OOP 代码库中工作,但每次我尝试这个时都会弹出这个错误。
我也尝试过返回$app
,所以我可以在其他地方运行 t,这也会产生同样的错误。这段代码出了什么问题?
解决方案
推荐阅读
- javascript - 如何在表单中动态包装特定的表格行?
- boolean - 如何将否定的 SOP 简化为 SOP?
- php - 验证在我的注册码 php 中不起作用
- node.js - 如何从 Three.js 中的欧拉中获取原始旋转四元数
- windows - 无法在我的 Azure Windows-10 VM 上使用域/本地用户进行身份验证
- python - 将两个列表相乘
- excel - 如何在excel中制作图表组合具有相同名称的值
- javascript - javascript中多个输入的一个输出
- xml - QDomEntity VS QDomElement| **QDomElement** 和 **QDomEntity** 有什么区别?
- delphi - Delphi ZXING 在 Windows 中使用网络摄像头总是出错