To prawie to samo, co stworzenie normalnej witryny.
Normalny wzór na stronie internetowej PHP:
- Użytkownik wprowadź adres URL
- Serwer dostać url, analizować je i wykonać akcję
- W tej akcji, można dostać/generować każdy informacje potrzebne dla strony
- utworzyć stronę html/php z informacją z działaniem
- serwer generuje całkowicie HTML strony i wysłać go z powrotem do użytkownika
Za pomocą api wystarczy dodać nowy krok między 3 a 4. Po 3, utwórz tablicę zawierającą wszystkie potrzebne informacje. Zakoduj tę tablicę w json i zakończ lub zwróć tę wartość.
$info = array("info_1" => 1; "info_2" => "info_2" ... "info_n" => array(1,2,3));
exit(json_encode($info));
To wszystko za api. Po stronie klienta można wywołać api za pomocą adresu URL. Jeśli api działa tylko z wywołaniem, myślę, że można to zrobić po prostu (aby sprawdzić, zwykle używam curl).
$info = file_get_contents(url);
$info = json_decode($info);
Ale częściej korzysta się z biblioteki curl, aby wykonać wywołanie get i post. Możesz mnie zapytać, czy potrzebujesz pomocy przy zwijaniu.
Po uzyskaniu informacji z api można wykonać 4 kroki: 4 &.
Zobacz dokumentację php dla funkcji json i file_get_contents.
curl: http://fr.php.net/manual/fr/ref.curl.php
EDIT
Nie, czekaj, ja nie rozumiem. "strona php API" co masz na myśli?
APi to tylko tworzenie/rekonwalescencja twojego projektu. NIGDY nie wysyłasz bezpośrednio wyniku html (jeśli tworzysz stronę internetową) wyślij api. Wywołujesz api z adresem URL, informacją zwrotną api, wykorzystujesz te informacje, aby stworzyć ostateczny wynik.
np .: chcesz napisać stronę html, która mówi "cześć xxx".Ale aby uzyskać nazwę użytkownika, musisz uzyskać informacje z api.
Załóżmy, że twoje api mają funkcję, która ma argument id_użytkownika jako argument i zwraca nazwę tego użytkownika (powiedzmy getUserNameById (id_użytkownika)), i wywołujesz tę funkcję tylko pod adresem URL takim jak/api/ulr/getUser /ID.
Function getUserNameById(user_id)
{
$userName = // call in db to get the user
exit(json_encode($userName)); // maybe return work as well.
}
Od strony klienta zrobić
$username = file_get_contents(your/api/url/getUser/15); // You should normally use curl, but it simpler for the example
// So this function to this specifique url will call the api, and trigger the getUserNameById(user_id), whom give you the user name.
<html>
<body>
<p>hello <?php echo $username ?> </p>
</body>
</html>
więc klient nigdy bezpośredni dostęp do baz danych, że rolą API.
Czy to jest bardziej wyraźne?
http://www.gen-x-design.com/archives/create-a-rest-api-with-php/ jest doskonałym źródłem informacji na ten temat. –
Napisałem ten [wpis na blogu] (https://www.leaseweb.com/labs/2015/10/creating-a-simple-rest-api-in-php/) zawierający przykładowy kod i instrukcje do tego. – mevdschee