Intereting Posts
Корпус Fosrestbundle пуст при многократном запросе Ошибка move_uploaded_file Как использовать оператор switch PHP, чтобы проверить, содержит ли строка слово (но может также содержать другие)? ОПЦИИ в API REST PHP Есть ли разница в скорости между <? Php echo $ var; ?> и <? = $ var?>? Как я могу объединить последовательные подархивы, которые имеют в нем одни и те же данные? Страница отзыва платежного шлюза Отображает пустые значения в VPS Hosting Mysql + php со специальными символами типа «(Апостроф)» и «(котировочная метка) javascript backspace по умолчанию проблема … Возврат страницы Как использовать PHP для получения всех имен файлов изображений, кроме содержащихся определенных слов? Преобразование SHA1 в обычную форму сбой переименования php .htaccess: перенаправить все HTTP-запросы на один файл без ссылок 404 или. код PHP date_sub. не может вычитать сегодня и дату Отдельные слова, разделенные пробелами в строке

По умолчанию GET маршрут с Slim PHP

Недавно я создал небольшой API, используя платформу Slim PHP, и он отлично работает. Однако я хотел бы установить маршрут GET для корня «/», который отвечает базовым сообщением, и любые другие запросы GET возвращают «доступ запрещен».

Прочитав как документацию, так и различные примеры, я не смог понять, как выполнить любую из этих задач. Мой проект основан только на маршрутах POST, но возможность отвечать на запросы GET, направленные как на корневой домен, так и на любые другие страницы, будет фантастическим.

Код:

// SLIM INSTANCE $app = new \Slim\Slim(); $app->contentType('application/json'); // SLIM ROUTES $app->group('/core', function() use ($app) { $app->post( '/create', 'Create' ); $app->post( '/start', 'Start' ); $app->post( '/stop', 'Stop' ); $app->post( '/delete', 'Delete' ); }); 

если вы хотите отвечать на разные методы, просто используйте map() -Method:

 $app->map('/create', 'Create')->via('GET', 'POST'); 

Чтобы зарегистрировать «маршрут по умолчанию», который всегда будет отвечать «access denied», если маршрут не согласован, вы можете переопределить «notFound»-Handler:

 $app->notFound(function () use ($app) { $app->response->setStatus(403); //output 'access denied', redirect to login page or whatever you want to do. }); 

Чтобы выполнить «root-route»: $app->get('/',function(){/*...*/}); должен именно это.