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

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

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

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

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

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

    Чтобы сделать это REST, вам необходимо:

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

      Это довольно легко.

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

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

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

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

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

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

    А также добавили последнее замечание о том, что вы должны реализовать подходящие методы 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/

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

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

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

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

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

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

    Также ознакомьтесь с этой веткой: PHP REST Clients

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