Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Un e-commerce in PHP: dall'OOP al pattern MVC

Analizziamo tutti i passaggi che una riga di codice dopo l'altra ci porteranno alla creazione di un negozio di e-commerce di base con PHP e MySQL.
Analizziamo tutti i passaggi che una riga di codice dopo l'altra ci porteranno alla creazione di un negozio di e-commerce di base con PHP e MySQL.
Link copiato negli appunti

Introduzione

In questa guida alla realizzazione di un e-commerce di base con PHP immagineremo il seguente scenario: una Web agency dopo alcune esperienze disastrose con diversi framework PHP si è rivolta a noi per implementare una soluzione diversa partendo da zero.

Il responsabile è scontento dell’eccessiva complessità dei framework esistenti e della scarsa documentazione disponibile. Non vuole che i suoi sviluppatori perdano tempo prezioso cercando di risolvere problemi generati dal framework. Vuole essenzialmente una soluzione semplice che funzioni. Gli interessa soprattutto il frontend e il flusso di acquisto: il backend per il momento non gli sembra prioritario in quanto a suo dire “se i clienti non ordinano, che dati gestiamo?

I suoi sviluppatori sono combattuti tra l’adottare una soluzione ibrida o MVC: per questo motivo il titolare vuole che creiamo due siti demo distinti per valutare i pro e i contro delle due soluzioni.

Ci ha fornito un database di prova con dei prodotti fittizi presi sul Web e una serie di immagini campione dei prodotti. L’unica cosa che gli interessa a livello frontend è che i prodotti abbiano un pretty permalink. Volendo possiamo implementare le categorie ma non è prioritario.

Soprattutto vuole che il carrello funzioni in modo fluido e che i dati non si accavallino con quelli di altri utenti. La procedura di pagamento per ora prevederà solo PayPal.

A tal proposito il suo account manager di PayPal gli ha parlato di Braintree e lo ha incoraggiato ad adottarlo. Per ora lui è andato avanti con le variabili dei form HTML, ma a questo punto nella secondo demo vuole che usiamo Braintree e le sue API.

Ecco cosa faremo

Come abbiamo accennato, questa guida si articolerà in due parti distinte ma collegate tra loro nel senso di un’evoluzione del nostro codice. Nella prima parte adotteremo l’approccio OOP ma senza passare direttamente al pattern MVC.

Quindi le regole di riscrittura del file .htaccess prevederanno entry multiple che punteranno a file PHP distinti. In questo modo potremo visualizzare in modo separato le chiamate ai metodi della classe principale che chiameremo poi action nella seconda parte.

Allo stesso tempo impareremo a gestire le classi PHP conoscendone le caratteristiche. Vedremo le classi che rappresentano un modello per i dati MySQL e impareremo a chiamarle models quando avremo capito il loro rapporto con le tabelle del database.

Il carrello sarà una classe e scopriremo come sincronizzare con la sessione PHP corrente. Infine vedremo tutte le classi accessorie che svolgono compiti di supporto.

Nella seconda parte riscriveremo il file .htaccess facendo puntare tutte le richieste HTTP che non reperiscono file o directory esistenti sul server al file index.php.

Di lì impareremo a scomporre le parti di un URL in token significativi che corrisponderanno a metodi o ad argomenti di metodi della classe controller scelta, ossia alle action e ai loro parametri.

Supereremo l’inclusione manuale delle classi facendo ricorso all’autoloading e ai namespace di PHP riorganizzando al contempo la struttura delle directory.

Infine, modificheremo il sistema di pagamento adottando le API di Braintree da cui impareremo a leggere la documentazione di un API e ad interagire con il codice di un SDK JavaScript.

Ti consigliamo anche