Flight PHP razvoj je način da napravimo male i brze PHP aplikacije kada bi puni framework donio više mehanike nego što posao traži. Flight je open-source mikro-framework: routing, requestovi, JSON odgovori, jednostavni view-ovi i mali container, u kodu koji programer može pročitati za jedno poslijepodne. U praksi to znači softver koji je jeftin za hosting, brz za izmjene i jasan sljedećoj osobi koja otvori repozitorij.
Sadržaj
U CodeWizu Flight koristimo za mikroservise, REST API-je, lagane aplikacije i prototipove koji treba da postanu pravi softver. Framework držimo tankim, a trud ulažemo u validaciju, jasne odgovore o greškama, testove i deployment koji radi na običnom PHP serveru. Ako proizvod kasnije zatreba redove poslova, bogat admin ili veliki domenski model, iste granice pretvaraju prelazak na Laravel u migraciju.
Ova usluga je za timove kojima treba interni API, prijem webhookova, integracija sa partnerom ili mali alat za korisnike, i za kompanije koje taj endpoint žele pored Laravela ili WordPressa. Odgovara i osnivačima koji žele radni prototip za nekoliko dana i strukturu koja ima smisla i šest mjeseci kasnije.

Flight PHP razvoj mikroservisa
Mikroservis, u smislu u kojem tu riječ koristimo, jeste jedna PHP aplikacija sa jednim zadatkom: webhook za narudžbe, PDF, sinhronizacija zaliha, obavijesti ili uzak API za partnera. Flight odgovara tom obliku. Servis kreće od jednog javnog ulaza, kratke liste ruta i samo onih biblioteka koje posao traži: PDO, HTTP klijent i klijent za red kada rad traje i nakon odgovora.
Zašto je mali servis poslovna odluka
- Pad generatora PDF-ova ostavlja samu prodavnicu dostupnom.
- Integracija sa partnerom ide svojim ritmom, sa svojim logovima i svojim povratom na prethodnu verziju.
- Novi programer može razumjeti servis prije nego što upozna cijeli monolit.
- Hosting ostaje mali PHP proces, često na VPS-u koji kompanija već plaća.
- Zamjena servisa kasnije je realna, jer je ugovor dokumentovani HTTP API.
Kako slažemo Flight servis
Rute ostaju kratke. Svaka ruta pokazuje na metodu kontrolera ili klasu sa jednom namjenom, a konfiguracija dolazi iz okruženja tako da tajne ostanu van Gita. Isti kod radi lokalno uz PHP-ov ugrađeni server, a u produkciji na nginxu ili Apacheu sa PHP-FPM-om. Pozivi prema ostatku sistema idu preko HTTP-a ili reda, pa svaki servis ostaje vlasnik svojih tabela.
Dobijate repozitorij, dokumentovanu listu ruta, primjer fajla okruženja, Compose fajl ili kratko uputstvo za server, testove glavnih tokova i README. Dogovaramo i koja strana je glavni izvor podataka, te šta pozivalac treba da uradi kada je ovaj servis nedostupan.
Izrada REST API-ja uz Flight PHP
Izrada REST API-ja na Flightu je direktna. Metoda i putanja vode na handler, imenovani parametri nose identifikatore, a odgovor je JSON sa ispravnim statusnim kodom. Ta jednostavnost vrijedi kada API ima i ugovor: stabilne URL-ove, jedan oblik greške i validaciju koja odbija loš unos prije baze podataka. Flightov vodič za routing pokriva sintaksu; produkcijski rad je sve oko tih ruta.
Mali API za narudžbe izgleda ovako. Numerički ID je ograničen u ruti, a svaka putanja pokazuje na kontroler koji testovi mogu pozvati direktno:
<?php
require __DIR__ . '/vendor/autoload.php';
Flight::route('GET /api/v1/orders/@id:[0-9]+', [OrderController::class, 'show']);
Flight::route('POST /api/v1/orders', [OrderController::class, 'store']);
Flight::start();Dosljedan API ugovor
- Validacija na svakom upisu, sa greškama po polju koje klijent može pokazati korisniku.
- Jedan JSON format greške, uključujući stabilan kod, da aplikacije i partneri mogu granati logiku.
- Autentifikacija prema publici: API ključevi za pozive između servera, potpisani tokeni kada je u pitanju korisnik.
- Paginacija, filteri i predvidivo sortiranje na listama, uz limit da jedan zahtjev ne može izvući cijelu tabelu.
- Rate limiting u aplikaciji, na nginxu ili na Cloudflareu, izabran prema stvarnom saobraćaju.
- OpenAPI dokument pored koda, da se ugovor i implementacija kreću zajedno.
Nova polja dodajemo na kompatibilan način, a prefiks /v2 uvodimo tek kada bi izmjena pokvarila postojeće klijente. Ključevi idempotentnosti na plaćanjima i webhookovima sprječavaju da ponovni pokušaj napravi drugu narudžbu. Za API-je sa fajlovima držimo istu disciplinu kao u našem PHP CDN uploaderu: provjerimo tip i veličinu, objekat čuvamo van aplikacijskog servera i vraćamo URL koji klijent koristi direktno.

Lagane aplikacije na mikro-frameworku
Lagana aplikacija staje u mali PHP kod: interni alat sa nekoliko ekrana, stranica statusa, forma za prijavu, prijem webhookova ili javni JSON feed. Flight te ekrane iscrtava običnim PHP šablonima, ili template engineom kada se layout isplati kao zavisnost. Generator admina, frontend build i worker za red mogu sačekati dok ih proizvod stvarno zatreba.
Poslovni razlog je fokus. Marketinški sajt koji ima i kalkulator cijena po mjeri drži taj kalkulator u zasebnoj maloj aplikaciji. Skladišnom timu koji treba pretragu po barkodu ne treba SaaS pretplata za jedan ekran. Napravimo malu aplikaciju, stavimo je na poddomen ili putanju i ostatak sistema ostavimo na miru.
Flight, Laravel ili običan PHP
Izbor prati veličinu problema i koliko ugrađenog ponašanja ćete stvarno koristiti.
| Pitanje | Flight | Laravel | Običan PHP |
|---|---|---|---|
| Najbolji izbor | API-ji, mali servisi, fokusirani alati, prototipovi | Pune aplikacije, portali, SaaS, bogat admin | Jedna skripta ili mali endpoint |
| Šta dobijate odmah | Routing, request i response, JSON, view-ovi, mali container | ORM, redovi, mail, auth, scheduler, širok ekosistem | Jezik i biblioteke koje dodate |
| Hosting | Bilo koji trenutno podržani PHP hosting, jedan proces | PHP plus workeri, scheduler i obično Redis | Bilo koji PHP hosting |
| Kako raste | Dodajete strukturu ili granicu prebacite u Laravel | Ostaje udoban kako moduli i timovi rastu | Lako postane neformalni framework |
| Na šta paziti | Poslovna logika nagomilana u closureima ruta | Velik alat za API od tri rute | Sigurnost i struktura ostavljene za kasnije |
Brzi prototipovi koji prežive demonstraciju
Brzi prototip je razlog zbog kojeg mnogi timovi biraju mikro-framework, i mjesto na kojem projekti stanu. Jedan fajl closurea i sirovog SQL-a ostavi utisak u petak, a u ponedjeljak blokira tim. Prototip radimo u obliku koji bismo i zadržali: rute, kontroler ili action klasa, repozitorij i konfiguracija iz okruženja. Prva verzija ostaje mala, a ima mjesta i za drugu funkciju.

Od skice do nečega što možete pustiti
Koristan prototip na jedno pitanje odgovara radnim softverom: narudžba partnera u zadatom JSON obliku, pretraga pošiljke po skeniranom kodu, ili forma koja upisuje red i šalje email pravoj osobi. Vrijeme ograničimo, koristimo realne primjere podataka i stavimo ga na staging URL da povratne informacije mijenjaju prave rute.
Kad je prihvaćen, dodajemo validaciju, autentifikaciju, logovanje, backup baze podataka i testove oko tokova koji diraju novac ili podatke o korisnicima. Ako je ideja prerasla mikro-framework, zadržavamo HTTP ugovor i unutrašnjost prebacujemo u Laravel, ili dodatni posao izdvojimo u drugi servis.
Kada je mikro-framework pravi alat
Flight je pravi alat kada aplikacija uglavnom prima HTTP i vraća JSON ili HTML, domen staje u nekoliko klasa, a tim želi pročitati svaku liniju koja radi u produkciji. Dobar je i pored većeg sistema: WordPress ili web shop drži javni sajt, a mali servis drži jednu integraciju koja se mijenja češće od sajta.
Laravel je bolji početni izbor za naloge, veliki admin, redove poslova, zakazane komande i domen koji će rasti godinama. Node.js je bolji početni izbor za rad u realnom vremenu ili tim koji radi samo u JavaScriptu. Gradimo sva tri i preporučujemo stack koji i dalje odgovara nakon prvog izdanja.
- Flight birajte za partnerski API, obradu webhookova, interni alat za pretragu ili javni mikroservis.
- Laravel birajte za portal, sistem rezervacija, SaaS proizvod ili bilo šta sa ozbiljnim back officeom.
- WordPress birajte kada urednicima trebaju stranice, objave i poznat admin, prije prilagođenog domenskog modela.
- Drugi mali servis birajte kada jedan endpoint otežava deployment inače zdrave aplikacije.
Hosting, performanse i sigurnost
Flight PHP aplikacija se deploya kao svaka dobro napravljena PHP aplikacija: trenutno podržano izdanje PHP-a, OPcache, nginx ili Apache, HTTPS i baza podataka na istoj privatnoj mreži. Ovakvi projekti mirno stoje na skromnom VPS-u kod Hetznera ili DigitalOceana. Naš vodič za produkcijski hosting na open-source panelima pokriva opciju sa panelom; običan server je jednako dobar izbor.
Šta zaključavamo prije pokretanja
- Pripremljeni upiti za svaki SQL poziv, a pristupni podaci samo u okruženju.
- Sigurnosna zaglavlja, uzak CORS i kolačići samo preko HTTPS-a kada aplikacija ima sesiju.
- Provjere Composera u CI-u i deployment koji se može vratiti na prethodno izdanje.
- Strukturisani logovi i health endpoint, da monitoring razlikuje ugašen proces od spore baze.
- Backupi baze koje stvarno možete vratiti, plus Cloudflare ispred javnog API-ja.
- Isključen prikaz grešaka u produkciji, a detalj upisan u log.
Brzina dolazi iz vašeg koda: indeksi na kolonama po kojima filtrirate, kratak keš za stabilna čitanja i timeout na svaki odlazni HTTP poziv. Kada je odgovor spor, mjerimo upit, vanjski API ili petlju koja je zaista odgovorna.
Najčešće greške u malim PHP servisima
- Cijela aplikacija u closureima ruta. Djeluje brzo dok ne dođe drugi programer. Ponašanje prebacujemo u imenovane klase.
- SQL složen spajanjem stringova. Tako injection greške prežive u malim projektima. Pripremljeni upiti su podrazumijevani, uključujući filtere pretrage.
- Bez ograničenja ulaza. Javni POST sa neograničenim JSON tijelom je pozivnica. Ograničavamo veličinu, provjeravamo tipove i na osjetljivim endpointima odbijamo nepoznata polja.
- Pravi pristupni podaci u README-u. Primjeri koriste rezervirana mjesta. Prave tajne žive u okruženju servera, van javnog direktorija.
- Jedna baza za sve servise. Dijeljene tabele prave monolit sa dodatnom mrežnom komunikacijom. Svaki servis drži svoje podatke i objavljuje API ili događaj.
- Prototip koji nikad nije dobio testove. Čim putanja dira narudžbe ili podatke o korisnicima, dobija test i staging okruženje sa istom verzijom PHP-a i istim ekstenzijama kao produkcija.
Od čega zavisi cijena Flight projekta
Procjenu po fazama šaljemo nakon upoznavanja. Jedan webhook sa autentifikacijom manji je angažman od partnerskog API-ja sa više resursa, sandboxom i migracijom sa starog SOAP servisa.
- Obim: resursi, endpointi, filteri i upload fajlova.
- Integracije: platni servisi, ERP, CRM i stari sistemi sa nezgodnom autentifikacijom ili oskudnom dokumentacijom.
- Identitet: statički API ključ je mali posao; korisnički nalozi, uloge i single sign-on drugi su dizajn.
- Podaci: nova šema je jednostavna; uvoz i usklađivanje višegodišnjih zapisa traje duže.
- Operativa: staging, monitoring, audit logovi, višejezični odgovori i pisana predaja vrijede da se imenuju unaprijed.
Kako radimo
- Upoznavanje: mapiramo korisnike, payloadove, sisteme sa obje strane i bitne slučajeve otkaza, uključujući kako „nedostupno” treba da izgleda svakom pozivaocu.
- Plan: dogovaramo rute, podatke koje svaki servis drži, način autentifikacije i cilj hostinga, pa posao dijelimo na prvo izdanje i kasniju listu.
- Izrada: radimo u kratkim iteracijama na staging URL-u, uz primjere zahtjeva koje možete ponovo pustiti.
- Testiranje: automatski testovi pokrivaju glavne uspješne i neuspješne tokove, a validaciju, autentifikaciju i upite pregledamo prije nego što išta postane javno.
- Pokretanje: deployamo uz mogućnost povratka, monitoring vežemo za health provjeru i prve prave pozive gledamo zajedno sa vama.
- Podrška: radimo nadogradnje PHP-a i zavisnosti, nove endpointe i popravke performansi kako integracija dobija više saobraćaja.
Zašto CodeWiz
- Full-stack, uključujući male dijelove: API, bazu podataka, server, keš i DNS radi isti tim, pa je i mali servis gotov sistem.
- Obim po mjeri: Flight preporučujemo kada odgovara, a Laravel, WordPress ili Node.js kada oni bolje odgovaraju. Framework služi procesu.
- Open-source na prvom mjestu: Flight, PostgreSQL ili MySQL, nginx i Cloudflare drže trošak licenci na nuli, a kod prenosivim. Više pročitajte o CodeWizu.
- Produkcijske navike i na malom kodu: validacija, pripremljeni upiti, backupi, logovi i povratak na prethodno izdanje dio su izrade, čak i kada aplikacija ima samo nekoliko ruta.
- Fer cijene, rad na daljinu: CodeWiz je 2023. godine osnovao Dragan Plavšić u Banjoj Luci i radi sa klijentima lokalno i u svijetu. Vrhunski razvoj bez vrhunskih cijena je način na koji dogovaramo obim.
Često postavljana pitanja
Koliko košta Flight PHP razvoj?
Cijena prati obim: endpointe, integracije, autentifikaciju i količinu postojećih podataka koje treba preseliti. Fokusiran webhook ili interni API kratak je projekat. Partnerska platforma sa sandboxima, ulogama i uvozom iz starog sistema veća je. Nakon upoznavanja šaljemo pisanu procjenu podijeljenu na prvo izdanje i kasnije faze po izboru.
Koliko traje izrada malog PHP API-ja?
Uzak API sa poznatim payloadom često stigne na staging za jednu ili dvije sedmice. Servis sa više resursa, jednostavnim admin prikazom i vanjskom integracijom češće traje nekoliko sedmica. Manju prvu verziju ranije stavljamo na staging URL, da na prave odgovore reagujete prije nego što se izgradi ostatak.
Flight ili Laravel?
Flight birajte za mali API, servis sa jednom namjenom ili alat sa nekoliko ekrana. Laravel birajte za naloge, redove, scheduler, veliki admin i domen koji će rasti godinama. Mnogi klijenti koriste oba, uz Flight pored Laravel ili WordPress sistema.
Da li je Flight pogodan za produkciju?
Da, za poslove za koje je napravljen. To je održavan open-source mikro-framework sa jasnim routingom, middlewareom i obradom odgovora, i radi na običnom PHP stacku. Spremnost za produkciju dolazi iz aplikacije oko njega: validacije, autentifikacije, logova, backupa, monitoringa i testova. To računamo kao dio isporuke.
Možete li preuzeti postojeći Flight projekat?
Možemo. Pročitamo rute, vidimo gdje žive poslovna pravila i SQL, dodamo testove oko tokova koji su bitni, pa poboljšamo strukturu, sigurnost i deployment dok servis ostaje online. Ako je kod prerastao mikro-framework, to kažemo i predložimo prelazak u fazama.
Spremni za vitak PHP servis?
Recite nam šta servis treba da radi, sa kojim sistemima razgovara i ko će ga zvati. Mi ćemo predložiti Flight ili stack koji bolje odgovara, zatim prvo izdanje i procjenu. Kontaktirajte CodeWiz da počnemo, ili pogledajte našu Flight mikro-framework uslugu.