Vsaka sodobna spletna aplikacija ali trgovina potrebuje ozadje (backend), ki skrbi za varno obdelavo podatkov, komunikacijo z bazo podatkov in pošiljanje odgovorov odjemalcem. PHP je že desetletja eden najbolj priljubljenih jezikov za ta namen, saj je izjemno prilagodljiv, hiter za namestitev ter vgrajen v skoraj vsako spletno gostovanje. V tem članku si bomo ogledali, kako zgraditi preprost, a funkcionalen PHP backend API.
Vloga backend strežnika v spletni arhitekturi
Glavna naloga PHP backenda je sprejemanje vhodnih zahtev iz brskalnika ali mikrokrmilnika (npr. ESP32), njihovo preverjanje ter izvajanje ustrezne poslovne logike ali operacij nad bazo podatkov.
| Komponenta | Naloga v sistemu | Tehnologija |
|---|---|---|
| Frontend (Odjemalec) | Prikaz uporabniškega vmesnika in pošiljanje zahtev | HTML, CSS, JavaScript |
| Backend (Strežnik) | Obdelava logike, varnostne preverbe, validacija | PHP |
| Podatkovni sloj | Trajno shranjevanje podatkov (uporabniki, artikli) | MySQL / MariaDB (SQL) |
Osnovni koraki pri izdelavi PHP API-ja
Kadar gradimo backend, ki odgovarja na AJAX zahteve ali povezuje IoT naprave, želimo, da PHP vrne podatek v lahkem in preglednem formatu JSON.
- Sprejemanje podatkov: Preberemo vstopni parametra iz zahteve (v produkciji preko `$_GET` ali `$_POST`).
- Validacija in logika: Preverimo pravilnost podatkov ter izvedemo operacijo nad podatki.
- Priprava strukture: Podatke organiziramo v PHP polje (array) z ustrezno statusno kodo.
- Izpis v JSON formatu: Polje pretvorimo v niz s funkcijo
json_encode().
Primer preprostega PHP backend skripta
Spodnji primer prikazuje PHP backend skript, ki preveri vstopni ID artikla ter vrne podatke o ceni in zalogi v JSON formatu. Primer je prilagojen tako, da ga lahko takoj preizkusite tudi v našem spletnem simulatorju.
<?php
// Nastavitev testnega ID artikla (v pravi produkciji bi uporabili: $_GET['id'])
$productId = 2;
// Osnovna preverba veljavnosti ID-ja
if ($productId <= 0) {
$response = [
'status' => 'error',
'message' => 'Napačen ali nepravilen ID artikla!'
];
} else {
// Simulacija podatkovne zbirke (v praksi sledi poizvedba na MySQL bazo)
$productsDatabase = [
1 => ['name' => 'Arduino Uno R3', 'price' => 22.50, 'stock' => 12],
2 => ['name' => 'ESP32 NodeMCU', 'price' => 8.90, 'stock' => 45],
5 => ['name' => 'DHT22 Senzor', 'price' => 4.20, 'stock' => 0]
];
// Preverimo, ali artikel z danim ID-jem obstaja
if (array_key_exists($productId, $productsDatabase)) {
$response = [
'status' => 'success',
'data' => $productsDatabase[$productId]
];
} else {
$response = [
'status' => 'error',
'message' => 'Artikel s tem ID-jem ne obstaja.'
];
}
}
// Pretvorba PHP polja v JSON format in izpis
echo json_encode($response, JSON_PRETTY_PRINT);
?>
Preizkusite kodo v spletnem simulatorju
Želite kodo preizkusiti in sami spremeniti vrednost `$productId`? Zaženite primer neposredno v naši PHP vadnici in simulatorju kode.