У меня есть такая простая структура кода:
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();
}
}
Маршрутизатор / Маршрутизатор.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 работать в кодовой базе ООП, но эта ошибка продолжает появляться каждый раз, когда я пытаюсь это сделать.
Я также пытался вернуть $app
, чтобы я мог запустить t в другом месте,который также производит ту же ошибку.Что не так в этом коде?