Каков наилучший способ реализации веб-сервисов в PHP?
Я слышал о таких библиотеках, как NuSOAP
веб-сервисов NuSOAP
и WSO2
, но не знаю, что лучше (или хорошо и легко учиться) для использования веб-сервиса в PHP?
SOAP, конечно, не является ТОЛЬКО способом реализации веб-сервисов. Если вы открыты для других парадигм, взгляните на REST .
В отличие от SOAP (имеющего несколько стандартов / поставщиков), REST является агностиком как поставщика, так и протокола. Вместо этого веб-службы RESTful реализуются с использованием этих рекомендаций (из статьи в Википедии):
Веб-служба RESTful (также называемая веб-интерфейсом RESTful) представляет собой простой веб-сервис, реализованный с использованием HTTP и принципов REST. Такой веб-сервис можно рассматривать как совокупность ресурсов. Определение такого веб-сервиса можно рассматривать как включающее три аспекта:
* The base URI for the web service, such as http://example.com/resources/ * The MIME type of the data supported by the web service. This is often JSON, XML or YAML but can be any other valid MIME type. * The set of operations supported by the web service using HTTP methods (eg, POST, GET, PUT or DELETE).
Вернемся к PHP, вот справочное руководство по реализации ZendFramework для функций REST Server.
Кроме того, вот ссылка на другой ответ, который я дал, ссылается на некоторую полезную информацию о ZendFramework и REST.
Начиная с PHP 5, в PHP есть встроенная SOAP-библиотека. Обычно я обычно использую встроенные библиотеки, а не PHP-реализации, поскольку они имеют тенденцию быть более быстрыми и стабильными.
Одна библиотека, которую я использовал, когда не использую встроенную, – это Zend_Soap , которая построена поверх встроенного SOAP и упрощает работу с ней.
Вы можете выбрать WSDL + SOAP для создания своих веб-сервисов или реализовать веб-службы RESTful. В любом случае вам нужно понять, что такое веб-службы и основные компоненты. Для меня REST кажется более эффективным.
Вот пример, основанный на Delicious .
Пожалуйста, посмотрите презентацию PHP и веб-сервисов, которая охватывает SOAP, REST и JSON.