我有这个简单的代码结构:
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 / 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,这也会产生相同的错误。这段代码出了什么问题?