Если ваше приложение Slim Framework имеет маршрут, соответствующий текущему URI-запросу HTTP,
но не метод HTTP-запроса , приложение вызывает обработчик Not Allowed и возвращает
HTTP/1.1 405 Not Allowed ответ HTTP-клиенту.
Каждое приложение Slim Framework имеет обработчик Not Allowed по умолчанию. Этот обработчик устанавливает
статус ответа на него 405, он устанавливает тип содержимого text/html, он добавляет Allowed: HTTP-заголовок
с разделенным запятыми списком разрешенных HTTP-методов, и он пишет простое объяснение телу Response.
Не разрешенный обработчик приложения Slim Framework - это служба Pimple. Вы можете заменить свой собственный обработчик не разрешенным, указав собственный заводский метод Pimple с контейнером приложения.
// Create Slim
$app = new \Slim\App();
// get the app's di-container
$c = $app->getContainer();
$c['notAllowedHandler'] = function ($c) {
return function ($request, $response, $methods) use ($c) {
return $c['response']
->withStatus(405)
->withHeader('Allow', implode(', ', $methods))
->withHeader('Content-type', 'text/html')
->write('Method must be one of: ' . implode(', ', $methods));
};
};N.B Проверьте Not Found документы для метода предварительного тонкого создания, используя новый экземпляр
\Slim\Container
В этом примере мы определяем новый notAllowedHandler завод, который возвращает вызываемый. Возвращаемый вызов допускает
три аргумента:
In this example, we define a new notAllowedHandler factory that returns a callable. The returned callable accepts
three arguments:
\Psr\Http\Message\ServerRequestInterface экземпляр\Psr\Http\Message\ResponseInterface экземплярВызываемый ДОЛЖЕН вернуть соответствующий \Psr\Http\Message\ResponseInterface экземпляр.