Rest Api PHP
Il Progetto
Questo progetto è un servizio web che permette alle applicazioni di archiviare, recuperare e gestire informazioni sulle persone attraverso semplici richieste web. Pensalo come un archivio digitale accessibile da qualsiasi punto di internet. Invece di gestire manualmente fogli di calcolo o database, altre applicazioni possono automaticamente aggiungere nuove persone, aggiornare le loro informazioni, o cercare tra i record usando comandi web standardizzati. L'intero sistema funziona in container isolati, rendendo facile il deployment e la manutenzione senza preoccuparsi di conflitti di configurazione del server.
Architettura e Stack Tecnologico
Questa API REST mostra pattern di sviluppo PHP fondamentali utilizzando infrastruttura containerizzata:
Architettura Backend
- Linguaggio: PHP 8.1 con server Apache per gestione richieste HTTP
- Database: MySQL 8.0 con volumi dati persistenti per archiviazione affidabile
- Containerizzazione: Docker Compose che orchestra ambiente multi-servizio
- Accesso Dati: PDO con prepared statements per operazioni database sicure
- Design API: File endpoint individuali seguendo convenzioni RESTful
- Autoloading: Caricamento classi conforme PSR-4 con bootstrap personalizzato
Componenti Infrastruttura
- Servizi Docker: Container PHP-Apache e container MySQL con networking
- Gestione Volumi: Storage database persistente e mounting codice live
- Mapping Porte: HTTP (80) e MySQL (3306) esposti per sviluppo
- Configurazione CORS: Impostazione header manuale per endpoint per richieste cross-origin
Caratteristiche Principali
- Controller Table-Agnostic: Operazioni CRUD generiche funzionanti con qualsiasi struttura tabella
- Sviluppo Containerizzato: Ambiente sviluppo completo con startup comando singolo
- Accesso Endpoint Diretto: File API individuali senza overhead routing complesso
- Pattern MVC: Separazione responsabilità con classi Controller e Database dedicate
- Design RESTful: Metodi HTTP standard (GET, POST, PUT, DELETE) per manipolazione risorse
- Supporto Cross-Origin: Header CORS configurati per integrazione frontend
Architettura API
- Layer Database (
app/config/Database.php) gestisce connessioni PDO con networking Docker - Layer Controller (
app/controller/Controller.php) fornisce operazioni CRUD table-agnostic - Layer Endpoint (
app/api/*.php) contiene endpoint API individuali con esecuzione diretta - Layer Bootstrap (
app/bootstrap.php) inizializza autoloading PSR-4 per gestione classi - Entry Point (
app/index.php) serve come placeholder per routing centrale futuro