Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie API
Forum PHP.pl > Forum > PHP
Rilekt
Cześć, męcze się nad stworzeniem api własnej strony. Chodzi mi narazie o proste linki typu http://strona.pl/api/user,1,format,json która zwracałaby użytkownika o id w bazie == 1.
Zadanie dość proste, lecz chcę zrobić to wg architektury REST i zgodnie z wzorcami projektowymi.

- jak pobierać wartośći w linku, które są po przecinku?
- jak "wyrzucać" dane na ekran, jeżeli chcę to mieć w formacie json/xml ?
Puszy
Do RESTa najlepiej mieć napisany router, ewentualnie korzystać z frameworka (raczej rekomendowane). Podziel zapytania na 4 typy, POST do tworzenia, GET do pobierania, PUT do aktualizacji i DELETE do usuwania. W przypadku GET korzystaj z parametrów $_GET, np http://strona.pl/api/user?id=1&format=json. Do reszty korzystasz z $_POST. Wszystko się tak na prawdę opiera na warstwie HTTP, potrzebujesz tylko routera o którym pisałem. Aby wyrzucić dane wystarczy zwykłe echo. Użytkownicy Twojego API będą się komunikować korzystając z CURLa albo Socketów (tak przynajmniej działa podstawowe korzystanie z RESTa w ZF2).
viking
https://apigility.org/documentation/intro/first-rest-service

Generalnie Zend Expressive też bardzo fajnie nadaje się do API.
Pyton_000
/users - zwraca wszystkich userów
/users/1 - zwraca usera ID=1
/users/1/posts - zwraca wszystkie posty usera ID1

itd.

Co do formatu output to dodajesz jako query string: ?format=json ?format=xml

Materiały:
https://github.com/RestCheatSheet/api-cheat...ign-cheat-sheet
https://stackoverflow.com/questions/671118/...ful-programming
Rilekt
Cytat(Pyton_000 @ 4.07.2017, 12:58:21 ) *
/users - zwraca wszystkich userów
/users/1 - zwraca usera ID=1
/users/1/posts - zwraca wszystkie posty usera ID1

itd.

Co do formatu output to dodajesz jako query string: ?format=json ?format=xml

Materiały:
https://github.com/RestCheatSheet/api-cheat...ign-cheat-sheet
https://stackoverflow.com/questions/671118/...ful-programming


Dzięki!

Nie będzie to duże API i z jednej strony wykorzystywanie frameworków to może być przerost formy. Z drugiej, ciężko będzie mi samemu napisać router.
Do celów testowych wykorzytuję darmowy hosting strony WWW, uda mi się tam zainstalować jakiś framework? thumbsdownsmileyanim.gif
Puszy
Framework to w skrócie nic innego jak zbiór gotowych funkcji napisanych w PHP, jeżeli działa Ci zwykłe Hello World, to framework też zadziała. Możesz mieć później tylko problemy przy bardziej zaawansowanym korzystaniu, np. gdy będzies zpotrzebował mb czy też gd2. https://symfony.com/doc/current/reference/requirements.html tutaj znajdziesz wymagania co do Symfony, są niemal żadne. Co do routera, pobranie parametrów to kilka linijek, dopiero później rozdzielanie zadań może powodować błędy ale mimo wszystko będzie to szybsze czasowo rozwiązanie niż nauczenie się od zera frameworka przy założeniu że wiesz jak zastosować taki router napisany przez siebie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.