Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

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

  • Форма HTML
  • Процесс PHP
  • Вывод HTML в таблице

Итак, чтобы сделать это REST, вам нужно:

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

    Очень легко.

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

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

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

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

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

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

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

Ответ 2

Вы можете посмотреть эту статью и последующие действия: 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/

Ответ 3

Я разработал класс, который является родным классом RAP класса SoapServer.

Вы просто включаете файл 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

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

Ответ 5

Если вы думаете о клиентской стороне вещей, я бы предложил проверить МАТС Sukowski PEST.

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

Также ознакомьтесь с этой веткой: PHP REST Клиенты

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