Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 11 di 56
  • livello intermedio
Indice lezioni

Introduzione a PDO

I vantaggi di PDO, un'estensione di PHP che permette di accedere a diversi DBMS tramite un unico livello di astrazione e al paradigma object oriented.
I vantaggi di PDO, un'estensione di PHP che permette di accedere a diversi DBMS tramite un unico livello di astrazione e al paradigma object oriented.
Link copiato negli appunti

PDO, acronimo di PHP Data Object, è un'estensione di PHP introdotta a partire dalla versione 5.1 del linguaggio con lo scopo di unificare le API di accesso ai database. Alla base della loro concezione vi era quindi l'idea di fornire un'unica interfaccia di programmazione con cui interagire con tutte le basi di dati.

Con la versione 7 di PHP, e le successive implementazioni di questa milestone, PDO si avvia a diventare uno standard quanto meno de facto, in particolare perché con questa release è stato rimosso il supporto ormai deprecato alle originarie funzioni specifiche per MySQL (lasciando però disponibile mysqli). Con l'abbandono delle "storiche" mysql functions il passaggio a PDO diventa quindi essenziale per la creazione di applicazioni aggiornate agli standard di sviluppo e sicurezza più recenti.

PDO e la programmazione ad oggetti

Come ben sintetizza il suo acronimo, PDO si presenta come una soluzione per sua natura orientata agli oggetti, l'estensione fornisce infatti un'interfaccia comune per la comunicazione con i diversi database. Tale caratteristica risulta estremamente pratica nel caso di una migrazione da un DBMS ad un altro, e permette agli sviluppatori di utilizzare le medesime strutture di programmazione a prescindere dal database di riferimento.

Quello che non offre PDO è però una funzionalità di traduzione delle query o di emulazione di eventuali funzioni mancanti, sarà quindi compito dello sviluppatore farsi carico delle differenti versioni dei dialetti SQL. PDO non mette infatti a disposizione una vera e propria "database abstraction", ma più semplicemente un data-access abstraction layer, cioè un livello di astrazione per l'accesso ai dati.

I vantaggi nell'uso di PDO

Uno dei principali punti di forza di PDO risiede nel fatto che esso mette a disposizione delle sviluppatore i prepared statement, costrutti che se utilizzati sistematicamente sono in grado di mettere al riparo gli script delle minacce basate sull'SQL injection, una tecnica di attacco incentrata sull'iniezione di SQL malevolo tramite input al fine di violare le applicazioni per la gestione dati.

L'interfaccia PDO permette l'accesso, tramite gli opportuni driver, ad alcuni dei database più diffusi, tra di essi vi sono anche:

  • Firebird.
  • IBM DB2.
  • IBM Informix Dynamic Server.
  • MySQL (versioni supportate 3.x/4.x/5.x).
  • Oracle.
  • PostgreSQL.
  • SQLite 3 e SQLite 2.
  • Microsoft SQL Server / SQL Azure.

In conclusione è possibile sottolineare che i vantaggi derivanti dall'uso di PDO fanno riferimento alle seguenti caratteristiche:

  • Portabilità: grazie al supporto di più engine per la gestione di dati.
  • Programmazione orientata agli oggetti: grazie ad un'interfaccia nativamente object-oriented.
  • Sicurezza: grazie ai prepared statement che proteggono dai tentativi di code injection.

L'uso di PDO rappresenta quindi il primo passo per rendere la nostra applicazione object-oriented e riusabile.

Ti consigliamo anche