arrow_back Torna ai Progetti
php

Rest Api PHP

Una API REST PHP leggera e containerizzata costruita con Docker e MySQL che dimostra architettura MVC pulita per operazioni CRUD. Presenta design controller indipendente dalla tabella, ambiente di sviluppo containerizzato e struttura endpoint semplice. Perfetta per sviluppatori che vogliono comprendere i fondamentali delle API PHP, imparare la containerizzazione Docker, o necessitano di una base semplice per costruire servizi REST scalabili con configurazione minima.

Periodo

2024

Link

deployed_code

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

  1. Layer Database (app/config/Database.php) gestisce connessioni PDO con networking Docker
  2. Layer Controller (app/controller/Controller.php) fornisce operazioni CRUD table-agnostic
  3. Layer Endpoint (app/api/*.php) contiene endpoint API individuali con esecuzione diretta
  4. Layer Bootstrap (app/bootstrap.php) inizializza autoloading PSR-4 per gestione classi
  5. Entry Point (app/index.php) serve come placeholder per routing centrale futuro

Stack Tecnologico

code php
code mysql