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

StackOverflow https://stackoverflow.com/questions/1628628

  •  06-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

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

<Ол>
  • HTML-форма
  • Процесс PHP
  • Вывод HTML в таблицу
  • Итак, чтобы сделать его ОТДЫХАМ, вам нужно:

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

    Это довольно просто.

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

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

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

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

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

    Изменить. Заменено & php; 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/

    Я разработал класс, который является эквивалентом 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
    

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

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

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

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

    Также проверьте эту тему: клиенты PHP REST

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top