Tale passaggio non sarebbe stato indolore in seno alla comunità  di sviluppo del linguaggio, al momento di prendere una decisione in merito circa 1/3 dei votanti avrebbe infatti espresso parere negativo; sarebbe stato comunque ingenuo attendersi che il preludio alla rimozione di una features presente in pratica sin dalle prime release di PHP potesse essere accolta all'unanimità .

Quali le implicazioni di questa nuova era per il linguaggio e le sue modalità  di interazione con le basi di dati? Sicuramente i warnings che segnaleranno le MySQL functions come deprecate faciliteranno una migrazione verso le funzioni MySQLi e PDO MySQL; un utilizzo più diffuso di prepared statements dovrebbe portare alla realizzazione di applicazioni più sicure, ma a cià si potrebbe obiettare sostenendo che gli script creati in precedenza non fossero necessariamente insicuri ma concepiti in modo differente.

Prepared statements a parte, che rappresenterebbero un motivo più che sufficiente per un aggiornamento, andrebbero considerati comunque anche altri fattori come per esempio una maggiore compatibilità  con le versioni più recenti del Database engine, il supporto per query asincrone, stored procedures, multiple statements e transazioni; tutti elementi che consiglierebbero l'utilizzo di MySQLi o PDO per tacere della mancanza di un'interfaccia orientata agli oggetti nelle MySQL functions.

Certo, il passaggio dallo stato di not recommended a deprecated potrebbe sconsigliare un aggiornamento degli ambienti di sviluppo e produzione per tutti coloro che fanno uso di applicazioni (anche Open Source) in cui l'interazione con il DBMS si basa sulle MySQL functions, ma a questo proposito dovranno essere i rispettivi sviluppatori e le community a pronunciarsi, per quanto riguarda PHP la strada sarebbe ormai segnata.

4 CommentiDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *

Alla fine si tratta di aggiungere una i... Dovrebbero invece obbligare a un passaggio alla versione OOP

Qw
Qw

Ho realizzato una libreria che reimplementa tutte le costanti e funzioni del tipo mysql_* usando le primitive Mysqli. Disattivando l'estensione Mysql la si può includere all'inizio dei vecchi script ed avere a disposizione le vecchie primitive_mysql_* sfruttando le mysqli_* in modo trasparente. E' ancora in beta attendo eventuali commenti e/o suggerimenti e/o segnalazioni http://sourceforge.net/projects/mysqlwithmysqli/

Gianluca
Gianluca

Per gli interessari ho scritto una libreria che reimplemanta tutte le vecchie funzioni mysql_* attraverso mysqli_* Quindi includendola negli script tutto dovrebbe (il condizionale é d'obbligo) continuare a funzionare Si attendo commenti e/o segnalazioni e/o suggerimenti http://sourceforge.net/projects/mysqlwithmysqli/

giianluca
giianluca

Diciamocelo, era ora. Per chi utilizza PHP ad un livello "enterprise" questo é "solo" un miglioramento. A volte bisogna obbligare alle "best practice", altrimenti non ci scrolleremo mai l'aurea negativa da hobbisti che circonda noi i programmatori PHP.

weblab
weblab