Ich versuche, eine Route mit PHP Slim-Framework zu erstellen.In PHP Slim Framework eine bestimmte Route kann nicht in "s" enden oder es wirft einen Fehler 500 Server
<?php
$app->get('/bands', function() {
$response["test"] = 'tester';
echoResponse(200, $response);
});
Immer wenn ich diesen Weg nenne ich bekommen einen 500-Server-Fehler und meine PHP-Protokoll besagt, dass $app
null ist. Aber wenn ich die Route zu ändern:
<?php
$app->get('/band', function() {
$response["test"] = 'tester';
echoResponse(200, $response);
});
Alles funktioniert, wie es sollte. Es gibt etwas über das "s" in der Bandroute. Ich kann einfach kein 's' on band machen, um Bands zu machen.
UPDATE: Keine der Routen mit einem 's' am Ende funktioniert!
Ich verstehe einfach nicht, warum das passiert. Jede Hilfe würde sehr geschätzt werden.
Wenn Sie sich fragen, was echoResponse(200,$response);
tut, nimmt es nur das Array und gibt es als JSON-Objekt mit der HTTP-Antwort 200 Success an den Browser zurück. Dieses es, wie es aussieht:
function echoResponse($status_code, $response) {
$app = \Slim\Slim::getInstance();
// Http response code
$app->status($status_code);
// setting response content type to json
$app->contentType('application/json');
echo json_encode($response);
}
Hier ist meine index.php:
<?php
require 'libs/Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
// The separate files that serve the routes
require_once 'bands.php';
require_once 'users.php';
require_once 'instructors.php';
require_once 'musicians.php';
function echoResponse($status_code, $response) {
$app = \Slim\Slim::getInstance();
// Http response code
$app->status($status_code);
// setting response content type to json
$app->contentType('application/json');
echo json_encode($response);
}
$app->run();
Dann in den oben genannten erforderlichen Dateien enthalten meine Routen:
Bands:
<?php
$app->get('/bands', function() {
$response["test"] = 'tester';
echoResponse(200, $response);
});
Benutzer:
<?php
$app->get('/users', function() {
$response["test"] = 'tester';
echoResponse(200, $response);
});
Musiker:
<?php
$app->get('/musicians', function() {
$response["test"] = 'tester';
echoResponse(200, $response);
});
Instructors:
<?php
$app->get('/instructors', function() {
$response["test"] = 'tester';
echoResponse(200, $response);
});
Alle der oben genannten Strecken funktionieren, wenn ich den abschließenden 's' zu entfernen.
Wenn es hilft. Hier ist mein .htaccess:
Welche Version von Slim? – Progrock
Ich benutze Slim 2.3.5 – OGZCoder
Was ist Ihre 'echoResponse' Funktion, können wir es sehen? Irgendwelche anderen Wege? – Progrock