Можете ли вы использовать REST в PHP? Если да, то как? [закрытый]

Я разрабатываю свою собственную библиотеку PHP, и я хотел бы вызвать RESTful web-services из моего API. Можно ли это сделать в PHP, и если да,то каковы основы в этом?

5 ответов


поскольку REST-это применение одних и тех же методов протокола HTTP к проектированию клиент-серверных архитектур, а PHP уже настолько хорош для обработки запросов протокола HTTP, таких как GET и POST. PHP специально подходит для упрощения разработки сервисов REST.

помните, что REST-это приложение тех же шаблонов http, которые уже существуют.

Так что если у вас уже есть приложение, которое делает что-то вроде:

  1. HTML-код Форма
  2. процесс PHP
  3. вывод HTML в таблице

поэтому, чтобы сделать его отдых, вам нужно будет:

  1. принять параметры из интернета. Это легко, так как вы получите параметры либо как get или post... так это в основном то же самое.
  2. процесс PHP
  3. вывод в любом JSON или XML. И это все!

    довольно простой.

теперь сложная часть состоит в том, чтобы сделать ваш API (функции и URL-адреса), которые вы будете генерировать, чтобы быть программистом.

в таком случае я предлагаю вам посмотреть на на Flickr API-интерфейс в качестве примера очень дружественный легко угадать и имеет хорошую документацию.

для получения дополнительной информации об API посмотрите на эту презентацию:как создать хороший API и почему это имеет значение (Джошуа блох)

наконец-то a RESTful API должен реализовать также методы PUT и DELETE протокола http когда это имеет смысл

например, если у вас было действие delete в вашем api, эта служба должна получить метод delete из протокола http. Вместо более распространенной вещи отправки параметра действия как части запроса post.

Edit: заменено "Php-это rest по умолчанию" на "так как REST-это применение тех же методов HTTP протокол к дизайну клиент-серверных архитектур и PHP уже настолько хорош для обработки запросов HTTP-протокола, таких как GET и POST. PHP специально подходит для упрощения разработки сервисов REST."

а также добавил последнее примечание, что вы должны реализовать методы appropiate PUT или DELETE, когда это действие имеет смысл для вашего api.


вы можете посмотреть эту статью и последующие действия: http://www.gen-x-design.com/archives/create-a-rest-api-with-php/

ваш вопрос очень открытый, поэтому этот учебник может быть лучшей отправной точкой.

ссылка выше больше не работает, поэтому ознакомьтесь с этим уроком:

http://net.tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/


Я разработал класс, который является эквивалентом REST класса SoapServer PHP.

вы просто включаете RestServer.php-файл и затем использовать его следующим образом.

class Hello
{
  public static function sayHello($name)
  {
    return "Hello, " . $name;
  }
}

$rest = new RestServer(Hello);
$rest->handle();

тогда вы можете совершать такие звонки:

http://myserver.com/path/to/api?method=sayHello&name=World

(обратите внимание, что не имеет значения, в каком порядке параметры предоставляются в строке запроса. Кроме того, имена ключей param, а также имя метода не зависят от регистра.)


не помешает вернуться в исходный источник термина REST, и убедитесь, что вы понимаете, что это значит.


Если вы задумываетесь о клиентской стороне вещей, я хотел бы предложить проверить вредителями Мэтт Sukowski по.

вы найдете репозиторий на GitHub: https://github.com/educoder/pest

также проверьте эту тему: PHP REST клиенты

обновление 2013/12/13:
Это очень живой проект с открытым исходным кодом, Мэтт Суковский передал его новым смотрителям этим летом, потому что он не чувствовал, что может уделить достаточно времени, и с тех пор было много и много коммитов. Так что Pest лучше, чем когда-либо, для отдыха в PHP :)