Aktywne Wpisy

RedBulik +1054
źródło: temp_file3490251520936694563
Pobierz
dziadeq +245
Bawi mnie to wyparcie w sumie. Obecnie jak zarabiasz 10 000zł netto to nie stać Ciebie na kredyt na mieszkania. A przypomnę że 50% Polaków zarabia mniej niż 5000zł. Zarabiając 10k i więcej jest w top10% w Polsce pod względem zarobków i nie stać Ciebie na kredyt ( ͡° ͜ʖ ͡°)
Więc to jest oczywiste, że czeka nas ostry zjazd i to jest kwestia do 12 miesięcy albo
Więc to jest oczywiste, że czeka nas ostry zjazd i to jest kwestia do 12 miesięcy albo





W tamtym wpisie jedna z osób powiedziała mi, że obecnie powinno się to robić tak, że PHP jest tylko i wyłącznie na backendzie jako API, czyli mamy totalną separację frontu od beckendu, więc PHP musi w jakiś sposób wysyłać te dane do frontu i następnie front musi je jakoś odpowiednio przerobić.
Trochę się rozeznałem w temacie i z tego co zrozumiałem, to można to zrobić tak, że np PHP pobiera dane z bazy danych, następnie za pomocą funkcji jsonencode() dane te są "przerabiane" z postaci tablicowej na obiekt JSON (to się chyba nazywa fachowo parsowaniem) i to jest wysyłane jako odpowiedź do frontu. Następnie po stronie frontu można te dane odebrać za pomocą Fetch API i odpowiednio wyświetlić w przeglądarce.
Znalazłem na YT krótki film pokazujący jak to powinno w uproszczeniu mniej więcej wyglądać i chciałbym się teraz zapytać:
1. Czy taki sposób na przesyłanie danych z PHP do HTML jest dobry? Tak jak napisałem, film jest bardzo krótki i wydaje mi się, że pokazuje to w dużym uproszczeniu, jednak bardziej mi chodzi tutaj o to, czy jest to dobry kierunek, żeby przesyłać dane z PHP do frontu?
2. Skoro PHP wysyła te dane w postaci JSON, a z tego co się zorientowałem jest to uniwersalny format danych, to czy te dane można byłoby odebrać za pomocą np aplikacji mobilnej napisanej w Android Studio? Czyli wychodzi na to, że cały backend mamy napisany w PHP, który wysyła dane w jednym, uniwersalnym formacie, i możemy je odbierać w aplikacjach różnego typu, czy to byłaby aplikacja webowa, desktopowa czy mobilna?
3. W tym filmiku zostało pokazane jedynie wyświetlanie danych. Jednak gdybym chciał przesłać dane z frontu do PHP, to mam rozumieć, że za pomocą Fetch API można też te dane wysyłać? I w takiej sytuacji też muszę pobrać te dane z fomularza HTML, następnie sparsować te dane do postaci JSON i wysłać do serwera i dopiero po stronie PHP sparsować je na inny format, prawdopodobnie za pomocą funkcji json_decode() i potem dodać je do bazy danych?
#php #javascript #webdev #naukaprogramowania #api
3. z grubsza tak, poczytaj sobie o metodach http jak GET POST PATCH itd
2. Tak
3. Generalnie tak, nagłówkiem Content Type możesz sterować tym jakim formatem wysyłasz dane. Nie musi być to JSON. Jeśli na backendzie będziesz używał jakiegoś frameworka (np. Symfony) to wówczas wszystko wyciągniesz z obiektu Requesta.
$_POSTdo przechwytywania danych przesłanych z formularza:php
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
$data = json_decode(file_get_contents("php://input"));
if (!empty($data->name) && !empty($data->email)) {
// tutaj można przeprowadzić logikę przetwarzania danych, np. walidację,
Jednak jeszcze tylko dopytam, czy ja jako początkujący, gdybym chciał napisać jakąś prostą aplikacje z wykorzystaniem czystego HTML, CSS, JS i PHP (pomijając to, czy opłaca się wszystko dzisiaj pisać bez żadnych frameworków), to czy taki sposób komunikacji między frontem a backiem, jaki opisałem w swoim wpisie, jest w miarę ok, przynajmniej na początek?
Po prostu jak nauczę się PHP to chciałbym sobie porobić
@maciorqa: Dla własnych potrzeb i nauki, oczywiście, że tak.
W miarę rozwoju zapewne pojawią się nowe problemy. Na przykład dane przesyłane w JSON należy "walidować", zabezpieczyć się na ataki SQL Injection i wiele innych typów. Na przykład ktoś w formularzu tekstowym może Ci wpisać ";-- DELETE FROM users;" i jeżeli będziesz miał kod PHP podatny na taki atak, to mogą wyczyścić Twoją bazę danych.
Powiedzmy że mi póki co chodzi tylko o dobrą praktykę, jak połączyć html z phpem i tylko tyle na ten moment chciałem się dowiedzieć. Zdaję sobie też problem o kwestii bezpieczeństwa, ale o tym chciałem poczytać kiedy indziej.
@maciorqa: Tak