Я разрабатываю свою собственную PHP-библиотеку, и я бы хотел назвать веб-службы RESTful из моего API. Можно ли это сделать на PHP, и если да, то в чем основы этого?
Можете ли вы использовать REST в PHP? Если да, то как?
Ответ 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
(Обратите внимание, что не имеет значения, в каком порядке параметры содержатся в строке запроса. Кроме того, имена ключей параметров, а также имя метода нечувствительны к регистру.)
Ответ 4
Не помешает вернуться к исходному источнику термина REST и убедиться, что вы понимаете, что это значит.
Ответ 5
Если вы думаете о клиентской стороне вещей, я бы предложил проверить МАТС Sukowski PEST.
Вы найдете репозиторий на GitHub: https://github.com/educoder/pest
Также ознакомьтесь с этой веткой: PHP REST Клиенты
Обновление 2013/12/13:
Это очень живой проект с открытым исходным кодом, Мэтт Суковски передал его новым опекунам этим летом, потому что он не чувствовал, что может сэкономить достаточно времени, и с тех пор было много и много коммитов. Так что Pest лучше, чем когда-либо, для использования Rest в PHP:)