Це майже те саме, що створили звичайний веб-сайт.
Звичайним шаблоном для веб-сайту php є:
- Користувач вводить URL-адресу
- Сервер отримує URL-адресу, аналізує її та виконує дію
- У цій дії ви отримуєте / генеруєте всю інформацію, необхідну для сторінки
- Ви створюєте сторінку html / php з інформацією з дії
- Сервер генерує повністю html-сторінку і відправляє її назад користувачеві
За допомогою api ви просто додаєте новий крок між 3 і 4. Після 3 створіть масив з усією необхідною інформацією. Кодуйте цей масив у json та виходьте або повертайте це значення.
$info = array("info_1" => 1; "info_2" => "info_2" ... "info_n" => array(1,2,3));
exit(json_encode($info));
Це все для api. Для клієнтської частини ви можете викликати api за URL-адресою. Якщо api працює лише з get call, я думаю, що це можна зробити просто (для перевірки я зазвичай використовую curl).
$info = file_get_contents(url);
$info = json_decode($info);
Але частіше використовується бібліотека curl для здійснення викликів та отримання дзвінків. Ви можете запитати мене, чи потрібна вам допомога з завиванням.
Отримавши інформацію з API, ви можете виконати 4 та 5 кроки.
Шукайте php doc для функції json та file_get_contents.
завиток: http://fr.php.net/manual/fr/ref.curl.php
РЕДАГУВАТИ
Ні, почекай, я не розумію. "сторінка API php", що ви маєте на увазі під цим?
API - це лише створення / відновлення вашого проекту. Ви НІКОЛИ не надсилаєте безпосередньо результат html (якщо ви робите веб-сайт), кидаючи api. Ви викликаєте api з URL-адресою, API повертає інформацію, ви використовуєте цю інформацію для створення кінцевого результату.
приклад: ви хочете написати HTML-сторінку, яка вітається з xxx. Але, щоб отримати ім’я користувача, потрібно отримати інформацію з API.
Отже, припустимо, у вашому api є функція, яка має аргумент user_id як аргумент, і повертає ім'я цього користувача (скажімо, getUserNameById (user_id)), а ви викликаєте цю функцію лише за таким URL-адресою, як ваш / api / ulr / getUser / id.
Function getUserNameById(user_id)
{
$userName =
exit(json_encode($userName));
}
З боку клієнта ви робите
$username = file_get_contents(your/api/url/getUser/15);
<html>
<body>
<p>hello <?php echo $username ?> </p>
</body>
</html>
Отже, клієнт ніколи не отримує безпосереднього доступу до баз даних, які виконують роль API.
Це зрозуміліше?