PHP 7.1.0 Released

Cambiamenti nel supporto del database

Panoramica PDO

I PHP Data Objects (PDO) furono introdotti come un'estensione PECL sotto PHP 5.0, e diventarono parte della distribuzione di PHP di base in PHP 5.1.x. L'estensione PDO fornisce un'interfaccia coerente per l'accesso al database, ed è usato insieme ai driver PDO specifici del database. Ogni driver può anche avere funzioni specifiche del database proprio, ma le funzionalità di base di accesso ai dati, come l'emissione di query e il recupero dei dati sono coperte dalle funzioni PDO, utilizzando il driver denominato PDO::__construct().

Si noti che l'estensione PDO, ed i suoi driver, sono destinati ad essere costruiti come estensioni condivise. Ciò consentirà aggiornamenti del driver semplici da PECL, senza costringere a rifare la build di PHP.

Al punto di rilascio della release di PHP 5.1.x, PDO è più che pronto per il test diffuso e può essere adottato in molte situazioni. Tuttavia, è importante capire che PDO ed i suoi driver sono relativamente giovani e possono mancare alcune caratteristiche specifiche del database; valutare PDO con attenzione prima di usarlo in nuovi progetti.

Il codice obsoleto in genere fa affidamento sulle estensioni database preesistenti, che sono ancora mantenute.

Cambiamenti nel supporto MySQL

In PHP 4, il supporto MySQL 3 era built-in. Con il rilascio di PHP 5.0 c'erano due estensioni MySQL, denominate 'mysql' e 'mysqli', che sono state progettate per supportare MySQL < 4.1 e MySQL 4.1 in sù, rispettivamente. Con l'introduzione di PDO, che fornisce un'interfaccia molto veloce per tutte le API dei database supportati da PHP, il driver PDO_MYSQL può supportare qualsiasi delle versioni correnti (MySQL 3, 4 o 5) in codice PHP scritto per PDO, a seconda della versione della libreria MySQL usata durante la compilazione. Le estensioni più vecchie di MySQL rimangono in vigore per motivi di retrocompatibilità, ma non sono abilitate per impostazione predefinita.

Cambiamenti nel supporto di SQLite

In PHP 5.0.x, il supporto di SQLite 2 era fornito dalle funzioni built-in dell'estensione sqlite, che era anche disponibile come estensione PECL in PHP 4.3 e PHP 4.4. Con l'introduzione di PDO, l'estensione sqlite raddoppia per agire come un driver 'sqlite2' per PDO; è a causa di questo che l'estensione sqlite in PHP 5.1.x ha una dipendenza sull'estensione PDO.

PHP 5.1.x. è equipaggiato con un numero di interfacce alternative a sqlite:

L'estensione sqlite fornisce le "classiche" API procedurali/OO di sqlite che potrebbero essere state utilizzate nelle versioni precedenti di PHP. Fornisce inoltre il driver PDO 'sqlite2', che consente di accedere a database SQLite 2 legacy utilizzando l'API PDO.

PDO_SQLITE fornisce il driver 'sqlite' versione 3. SQLite versione 3 è di gran lunga superiore a SQLite versione 2, ma i formati dei file delle due versioni non sono compatibili.

Se il proprio progetto basato su SQLite è già scritto e sta funzionando nelle versioni di PHP precedenti, allora è possibile continuare ad utilizzare ext/sqlite senza problemi, ma sarà necessario attivare in modo esplicito sia PDO che sqlite. I nuovi progetti dovrebbero utilizzare PDO e il driver 'sqlite' (versione 3), in quanto questo è più veloce rispetto a SQLite 2, ha migliorato il blocco della concorrenza, e supporta sia le istruzioni preparate, sia le colonne binarie nativamente.

È necessario attivare PDO per utilizzare l'estensione SQLite. Se si vuole fare il build dell'estensione PDO come estensione condivisa, allora anche l'estensione SQLite deve essere buildata in modo condiviso. Lo stesso vale per qualsiasi estensione che fornisce un driver PDO

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top