Создание api на php

Создание api на php

Не так давно один из моих посетителей мне задал вопрос по e-mail: "Как создать свой API на сайте?". Я решил, что это будет весьма полезно другим пользователям, тем более, что на кажущуюся сложность процесса, всё очень и очень просто. Необходимо лишь обладать самыми элементарными знаниями PHP.

Если Вы вдруг не понимаете, о чём идёт речь, то прочитайте сначала статью: что такое API. Идём дальше. Давайте разберём, а для каких сайтов нужен вообще API:

  • Социальные сети (Facebook и другие). Здесь требуется API для получения информации о различных данных пользователя: его друзьях, личных сообщениях и прочей информации.
  • Почтовые сервисы (например, mail.ru). В первую очередь, для получения писем. Иногда для отправки.
  • Различные сервисы для создания Интернет-магазинов. Например, получить список новых заказов или список всех товаров в заданной категории.
  • И много-много других сайтов.

Первое, что необходимо усвоить — это то, что API нужен далеко не каждому сайту (даже если он принадлежит одной из вышеуказанных групп).

Если же Вы считаете, что API на Вашем сайте необходим, то давайте разберём пример того, как он создаётся. Пусть у нас будет такая задача: есть ЭПС (как, например, WebMoney). И мы хотим, чтобы пользователь мог из своего кода, пользуясь нашим API, узнать свой баланс на счёте.

Создадим файл (например, api.php), который у нас будет принимать GET-запросы от пользователей на получение различной информации. Напишем в этом обработчике такой код:

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

Этот запрос пользователи формируют в своих скриптах (например, через cURL). Параметр key — это уникальный ключ каждого пользователя. И ответом этого запроса будет число, отвечающее за баланс пользователя. Аналогично создаются и все другие возможности API. Можно добавлять другие различные параметры: например, получить список операций пополнения счёта с одной даты по другую. Желательно, сами списки возвращать в формате JSON.

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Читайте также:  Доля айфонов в мире

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 20 ):

    что такое API — ссылка не та)

    Большое спасибо! Уже исправлено.

    и что такое формат JSON?

    Об этом будет моя следующая статья, которая выйдет в понедельник. Но если быть совсем кратким, то это аналог ассоциативного массива в PHP.

    А можно ли написать для ИГР АПИ?! Как вк например, что бы определяло кто заходил,его действия, что бы можно бло играть друг с другом?!

    Для онлайн-игр, конечно, можно.

    А вы можете мне помочь?!

    Составьте техническое задание, отправьте мне на e-mail: myrusakov@gmail.com. Если будет возможность и время, я соглашусь выполнить.

    по моему ето полный фигня получить список друзей в соц сеть через api

    Для Вас, как Вы выражаетесь, это фигня, а для других это очень даже полезно бывает. Много, чего можно придумать, на основании списка друзей. Была бы фантазия.

    но для использования api ради список друзей ето действительно беcмислено , для получения id друзей хватит 3-4 строк кода

    Где 3-4 строки кода? На стороне пользователя должна быть 1 строка кода с запросом. А на стороне сервера сам API никак не может быть на 3-4 строки. И API содержит не только список друзей, но ещё кучу функций. Список друзей лишь пример.

    я имел введу только друзья а вообще я постараюсь использовать post запросы а не get так боле безопасно а апи в основном надо для рассылок, или поделится своим скриптом с другими сайтами

    У вас тавтология в этом предложении "Желательно, сами списки возвращать желательно в формате JSON."

    До речі, планую для апі зробити щоб можна було відправляти REST-правильні http запити(PUT, DELETE..). Є якійсь правильні способи дістати глобальні масиви з ними крім танцями з бубном навколо php://input?

    в принципе,нету Только так) Либо при помощи стандартных глобальных переменных Так Вы создайте класс определённый и подключайте его,где нужно

    Читайте также:  Мой мтс украина вход в личный кабинет

    где key=fa9sgwlgjs9gdsjlgjdsjglsdlgs key — это поле в базе? fa9sgwlgjs9gdsjlgjdsjglsdlgs — значение key? Я заменил getbalance на своё получилось вот: select_db(‘nameDB’) or die(‘Cannot select database’); if ($_GET[‘method’] == "get.newsDate") < $date; echo $date; >?> ничего не выводит

    API на сайте -сложнось в посыле http:// В адресной строке или в форме нухно отправлять?В адресной строке пустая страница всегда.Со временем может дойдет.Но пона ето никчему,но полезно это знать.

    Здравствуйте. У меня имеется на сайте API, но в нём не хватает некоторых методов. Возможна ли доработка, имеющегося API? Если да, то можно ли с Вами обговорить этот вопрос, или может дали бы контакты того кто этим занимается. Вообще, нужна доработка методов для создания нативного приложения для сайта. Заранее спасибо.

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2019 Русаков Михаил Юрьевич. Все права защищены.

    В данной заметке пример самого простого REST API на PHP без использования какого-либо фреймворка и других средств. Целью есть предоставить общую картину — как это все работает.
    Недавно я уже опубликовал статью, в которой описан процесс создания REST API для проекта на Yii2.

    Т.к. никакие фреймворки с маршрутизаторами в примере использоваться не будут, нужно начать с перенаправления всех запросов на "точку входа" — файл index.php. Для сервера на Apache это можно сделать в файле .htaccess который должен располагаться в корне проекта:

    Согласно правил, ссылка должна начинаться на /api и ,например, для API работающего с таблицей users должна иметь такой вид:
    ДОМЕН/api/users

    Пример файла index.php

    Как видно из кода — будем работать с объектом usersApi, т.е. с пользователями (таблица users). Т.к. для простоты примера я не использую тут Composer или другой механизм для автозагрузки классов, просто подключим файл класса с помощью

    Возникла задача написать API для общения приложения (ios) с базой данных. Опыта работы с php уйма, а вот api писать не приходилось. Хочется почитать про то как писать такую прослойку.

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

    В замен обещаю написать статью на эту тему 🙂

    Спасибо всем откликнувшимся!

    • Вопрос задан более трёх лет назад
    • 36958 просмотров
    Читайте также:  Кабель удлинитель для микрофона

    Вот именно что статей полно но какого то базового примера практически негде нет!
    — тебя либо долго грузят терминалогией и приводят какие то громздкие примеры в которых человек который не разу АПИ не писал мозг поплавит
    — либо приводят что то уже заточенное под строго определенные действия

    а так что бы показать наипростейший примерный скрипт без определения тучи классов и функций, что бы ты просто наглядно увидел рабочий принцип такое пойди поищи

    Статей хватает, можете конечно написать, но врят-ли что-то-новое выйдет.

    Структуру методов, что и как должно возвращать лучше обсудите с iOS разработчиком, который будет потом имплеменить это дело. Если такого нету — максимально разбейте все на атомарные операции, упростите взаимодействие, прикиньте сами какие методы могут понадобиться (представьте что вы пишете API не для кого-то, а, например, для странички, которая через AJAX все выдерает).

    По поводу реализации — банальная сериализация вместо рендринга, больше отличий нету. Есть куча готовых компонентов которые хорошо подходят для сериализации туда и обратно. Свой такой компонент тоже пишется достаточно быстро.

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

    Я не видел ни одного RESTfull API для серьезных приложений, тобиш да, оно то REST но не полностью, так что заморачиваться тут не стоит. Достаточно просто обрабатывать какие-то базовые заголовки и GET/POST запросы. GET для выборок — тобиш данные в базе при запросе не меняются, разве что какие счетчики, а POST для создания записей в базе (по феншую результат работы функции должен возвращаться только HTTP заголовки, среди которых есть GET запрос с URI нового объекта, но на практике никто не париться и возвращает весь объект или его часть).

    Можно конечно воспользоваться SOAP апишками, но по опыту скажу что оно годно только при разработке оочень простых API, и толку от него мало. Если клиентом, конечно, будет приложение написанное на C# .NET — тогда смело SOAP и только SOAP, вам по сути разницы в реализации (имеется в виде по времени) минимум, а разработчику клиента будет намного проще. А вот на iOS с SOAP все достаточно печально.

    Ссылка на основную публикацию
    Adblock detector