2016-05-04 2 views
0

Я учусь программировать успокоительный api, и я смущен некоторым кодом в этом уроке.

http://coreymaynard.com/blog/creating-a-restful-api-with-php/

Они использовали

$_REQUEST["request"]

для запроса URI. Я пытаюсь понять, почему я это сделать вместо

$_SERVER["request_uri"]

+0

дополнительное объяснение не делать заявление большой – Mostafiz

+0

Мне было просто интересно, что учебник пытался выполнить с помощью $ _REQUEST ["request"], но если вы посмотрите на ответ, который я опубликовал, он очищает все. –

ответ

0

Я понял это. Я потратил столько времени на чтение кода .htaccess, что все это просто не имело смысла.

Так вот краткий обзор:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 

    RewriteRule api/v1/(.*)$ api/v1/api.php?request=$1 [QSA,NC,L] 
</IfModule> 

Этот RewriteRule утверждает, что ничего запрошенные на пути API/VI /(.*) будет перенаправлен на путь апи/v1/api.php? request = $ 1. Добавляемая в конце переменная является переменной запроса, которую мы используем $ _REQUEST ["запрос"] для извлечения.

0

TheThe $ _REQUEST вызов получает значение переменной с именем «запрос» либо из GET или POST (только GET принят в учебник). $ _SERVER [ "REQUEST_URI"] делает выборку URI дается для доступа к странице

http://php.net/manual/en/reserved.variables.server.php

+0

Почему я хочу получить переменную запроса вместо uri? Разве uri не путь, который я хотел бы анализировать на переменные, такие как конечная точка и глагол, чтобы я мог построить правильный ответ? –