Можете ли вы использовать REST в PHP? Если да, то как? [закрытый]
Я разрабатываю свою собственную библиотеку PHP, и я хотел бы вызвать RESTful web-services из моего API. Можно ли это сделать в PHP, и если да,то каковы основы в этом?
5 ответов
поскольку REST-это применение одних и тех же методов протокола HTTP к проектированию клиент-серверных архитектур, а PHP уже настолько хорош для обработки запросов протокола HTTP, таких как GET и POST. PHP специально подходит для упрощения разработки сервисов REST.
помните, что REST-это приложение тех же шаблонов http, которые уже существуют.
Так что если у вас уже есть приложение, которое делает что-то вроде:
- HTML-код Форма
- процесс PHP
- вывод HTML в таблице
поэтому, чтобы сделать его отдых, вам нужно будет:
- принять параметры из интернета. Это легко, так как вы получите параметры либо как get или post... так это в основном то же самое.
- процесс PHP
-
вывод в любом 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 :)