2017-04-01 4 views
-1

Ich arbeite mit Slim (3.8.1). Ich spiele mit dem Ticketmuster.Slim externe Route Datei Fehler

Da ich an eine größere Anwendung denke, möchte ich die Routen in separaten Dateien haben. Aber wenn ich die route-Datei in meine index.php einfüge, erhalte ich folgende Fehlermeldung:

"Behebbarer fataler Fehler: Argument 1, das an Closure :: {closure}() übergeben wurde, muss eine Instanz von Request, instance of Slim sein \ Http \ Antrag gegeben“

Dies ist meine Route-Datei (einfache Kopie von dem, was vor in index.php war, eingeschlossen in pHP-Tags):

<?php 
$app->get('/tickets', function (Request $request, Response $response) { 
    $this->logger->addInfo("Ticket list"); 
    $mapper = new TicketMapper($this->db); 
    $tickets = $mapper->getTickets(); 

    $response = $this->view->render($response, "tickets.phtml", ["tickets" => $tickets, "router" => $this->router]); 
    return $response; 
}); 
?> 

in meinem index.php ich habe dies stattdessen jetzt:

require '../routes/tickets.php'; 

Muss ich den Pfad der Routendateien irgendwie registrieren?

Jede Hilfe wird geschätzt.

Mit freundlichen Grüßen, George

Antwort

0

Ich dachte, dass die folgenden Arbeiten in der externen Routendatei:

<?php 
use \Psr\Http\Message\ServerRequestInterface as Request; 
use \Psr\Http\Message\ResponseInterface as Response; 

$app->get('/', function (Request $request, Response $response) 
{ 
    $response = $this->view->render($response, "home.phtml"); 
    return $response; 
}); 
?>