Создать REST API из PHP API - PullRequest
       0

Создать REST API из PHP API

3 голосов
/ 08 июля 2011

Я новичок в PHP, но я знаю большинство основ. В настоящее время у меня есть собственный API для моего веб-сайта, который я могу вызывать разными методами с разными параметрами, и они будут проверять мои базы данных на предмет соответствующей информации.

Однако я хочу преобразовать его в REST.

Так что вместо таких запросов http://mywebsite.com/api/?param=allPosts у меня было бы что-то вроде http://mywebsite.com/api/posts/. Я бы делал это для каждого из моих 23 различных параметров.

Как я мог это сделать?

Ответы [ 3 ]

2 голосов
/ 08 июля 2011

Один из способов - использовать микро-фреймворк для маршрутизации. Это будет «указывать» шаблоны URL-запросов на соответствующие php-файлы (контроллеры), чтобы управлять этими запросами и обслуживать контент (или выполнять операции CRUD, или все, что делает ваш API).

Здесь есть хороший пост с обсуждением и дополнительными ссылками.

https://stackoverflow.com/questions/115629/simplest-php-routing-framework

В настоящее время я использую фреймворк Silex для этой цели

http://silex -project.org /

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

Обычные подозреваемые

  • CakePHP
  • Codeigniter
  • Symfony
  • Lithium

и еще много ...

1 голос
/ 08 июля 2011

Строго говоря, это не RESTful, это просто предварительная ссылка на ваш URL.

Чтобы «украсить» ваши URL, вы можете реализовать что-то вроде этого:

  1. Обрезать базовый URL начала запроса
  2. взорвать оставшуюся строку с помощью компонента "/"
  3. Первый компонент (обычно) относится к вашему контроллеру
  4. Следующий компонент - ваше действие в этом случае эквивалентно тому, как вы используете ?param=allPosts

RESTful маршрутизация основана на идее использования различных HTTP-глаголов (GET / POST / PUT / DELETE), чтобы решить, какие действия предпринять с вашими ресурсами на сервере. Википедия имеет хороший обзор.

0 голосов
/ 08 июля 2011

Одним из способов будет использование Apache mod_rewrite для эффективного преобразования второго типа запроса в первый.Это не обязательно идеально, но это довольно простое решение вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...