Articoli

#2FA #ADR #AI #API #API REST #API-First #Abstract Factory #Action-Domain #Adapters #Admin #Admin UX #Aggiornamenti #Analytics #Architettura #Autenticazione #Auth #Automazione #Backend #Bootstrap #Bounded Context #Bref #Bridge #Business #CI/CD #CLI #CMS #CQRS #CRUD #Cache #Caching #Case Study #Clean Architecture #Clone #Collaborazione #Command-Query #Comportamentale #Confronto #Consulenza #Content Strategy #Contract-First #Conversione #Coordinamento #Creazionale #Curiosita #DDD #Dashboard #Database #Debugging #Deploy #Design Pattern #Design System #DevOps #Developer Experience #Diagnosi #Disaccoppiamento #Discovery #Distribuito #Docker #Domain-Driven #Doppio Dispatch #Editor #Eloquent #Email #Emergenza #Encryption #Error Handling #Etica #Event Sourcing #Event-Driven #Evento #Evoluzione #FAQ #Feature-Based #Filament #Filosofia #Filters #Flyweight #Framework #Freelance #Frontend #Full Stack #GDPR #Gestionale #Getting Started #Google #Grammatica #Helper #Hexagonal #Hosting #Infrastruttura #Integrazione #Interpreter #Lambda #Laravel #Layer #Layered #Legacy #MVC #Mail #Manutenzione #Media #Mediator #Memento #Memoria Condivisa #Microservizi #Middleware #Migration #Migrazione #Migrazione-Legacy #Milestone #Mobile #Model #Model-View-Controller #Modulare #Monolith #Multi-Tenancy #Multi-Tenant #Multi-driver #N-Tier #ORM #Onion #OpenAPI #Organizzazione #PHP #PHP 8.4 #Paginazione #Pattern #Performance #Pipeline #Pipes #Plugin #Ponte #Portfolio #Ports #Pragmatico #Preventivo #Privacy #Processo #Produzione #Progetto #Proiezione #Prototype #Quality #Query Builder #Read-Write #Refactoring #Relazioni #Responder #Retrospettiva #Ripristino #Routing #SEO #SOLID #SQL #SaaS #Scalabilita #Security #Seeder #Serverless #Service Layer #Session #Sicurezza #Snapshot #Storia #Strangler #Strangler-Fig #Strategia #Strati #Strutturale #Symfony #Template #Testing #Type Safety #UX #Uncle Bob #Utility #Validazione #Vertical Slice #View Engine #Visitor #Web Custom #WordPress
article

State Pattern: oggetti che cambiano comportamento in base al proprio stato

Pillar article sullo State Pattern: eliminare i blocchi switch/if sullo stato trasformando ogni stato in una classe con il proprio comportamento.

Il problema: lo switch sullo stato che divora il codiceUn ordine in un e-commerce ha diversi stati: draft, pending, paid, shipped, delivered, cancelle...
05/05/2026
article

Command Pattern: trasformare le azioni in oggetti

Pillar article sul Command Pattern: encapsulare richieste come oggetti per parametrizzare, accodare, loggare e annullare le operazioni.

Il problema: azioni che vivono solo nel momentoUn controller riceve una richiesta POST e chiama direttamente $order->cancel(). Funziona. Ma cosa succe...
04/05/2026
article

Proxy Pattern: controllare l'accesso senza cambiare l'interfaccia

Pillar article sul Proxy Pattern: lazy loading, access control e caching trasparente tramite oggetti surrogato che rispettano la stessa interfaccia.

Il problema: oggetti pesanti che non servono subitoHai un modello Article con una relazione comments(). La pagina del blog elenca 20 articoli con tito...
03/05/2026
article

Repository Pattern: separare il dominio dalla persistenza

Pillar article sul Repository Pattern: come creare un layer di accesso dati che isola la business logic dai dettagli del database.

Il problema: query SQL sparse ovunqueIn un progetto PHP che cresce, le query al database tendono a disperdersi: nel controller, nel service, a volte p...
02/05/2026
article

Decorator Pattern: aggiungere comportamento senza toccare il codice esistente

Pillar article sul Decorator Pattern: come wrappare oggetti per estenderne le funzionalita senza modificare le classi originali, con esempi pratici in PHP.

Il problema: estendere senza ereditareImmagina di avere un servizio che invia notifiche via email. Funziona perfettamente. Poi arriva la richiesta: "v...
01/05/2026
article

Quick note: Middleware come Chain of Responsibility

Quick note sul Chain of Responsibility Pattern nello stack middleware: CSRF, rate limiting, autenticazione e la pipeline come catena di decisioni.

Ogni anello decide se passare al successivoLo stack middleware di Soft PHP MVC e una Chain of Responsibility: ogni middleware riceve la request, decid...
30/04/2026