я использую Тонкие рамки для моего проекта. Я скопировал папку Slim в каталог моего проекта.
Нет следующего кода, с которым у меня проблема:
HTML-код (множественные методы.html):
<html>
<head>
<title>Multiple Methods Routing Demo</title>
</head>
<body>
<form action="multiplemethodsroute.php/products" method="GET">
product id <input type="text" name="id" />
<br/>
<input type="submit" />
</form>
</body>
</html>
PHP-код (multiplemethodsroute.php):
<?php
require 'Slim/Slim.php';
/* Invoke the static "registerAutoloader()" function defined within Slim class.
* Register the autoloader is very important.
* Without doing it nothing will work.
*/
\Slim\Slim::registerAutoloader();
//Instantiate Slim class in order to get a reference for the object.
$application = new \Slim\Slim();
$application->map(
'products(/:id)',
function()
{
global $application;
$id = $application->request->get('id');
if($id == null)
{
$id = $application->request->post('id');
}
echo "showing info about product #".$id;
})->via('GET','POST');
$application->run();
?>
Оба файла, а именно. multiplemethods.html и multiplemethodsroute.php находятся в одном каталоге с названием «slimsamples» в этом месте /var/www/slimsamples
Когда я отправляю форму HTML, введя некоторое число, скажем 9565665, 404 Страница не найдена сообщение появляется в окне браузера.
Элемент управления не входит в функцию, написанную для карты. Я проверял это во время процесса отладки.
Может кто-нибудь узнать, пожалуйста, какую ошибку я здесь делаю?
Заранее спасибо.
Согласно документации Slim, вам не хватает лидирующих /:
$application->map('/products(/:id)') ...
Других решений пока нет …