Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Confrontare i livelli di astrazione del database per PHP e i plugin CRUD

by
Difficulty:BeginnerLength:MediumLanguages:

Italian (Italiano) translation by Cinzia Sgariglia (you can also view the original English article)

In questo articolo, vedremo diversi livelli di astrazione del database per PHP. Vedremo anche un paio di plugin del database CRUD per PHP che potrebbero rendervi la vita più facile quando interagite con un database MySQL.

Che cos'è un livello di astrazione del database?

Come suggerisce il nome, un livello di astrazione del database è un livello che si trova tra l'applicazione e il database sottostante. Utilizzerete un livello di astrazione del database per interagire con il vostro database. Il vantaggio del livello di astrazione del database è che potreste cambiare il sottostante database di back-end senza dovervi preoccupare delle modifiche al codice dell'applicazione. Un livello di astrazione del database, inoltre, semplifica il codice del database e rende più semplice connettersi e aggiornare il database.

Diamo un'occhiata a un esempio per capirlo. Diciamo che avete scelto il database MySQL come database di back-end nella fase iniziale dello sviluppo di applicazioni. Non state utilizzando alcun livello di astrazione del database nell'applicazione e quindi finirete per scrivere il codice specifico per il back-end di MySQL quando eseguite operazioni sul database.

E se per qualche motivo, è necessario modificare il database di back-end da MySQL a Oracle? Questo cambio non sarà facile. La prima cosa che dovrete fare è rivedere ogni bit del codice specifico di MySQL nell'applicazione. Dovrete controllare ogni riga di codice che interagisce con il database di back-end di MySQL e sostituirlo con il codice equivalente per il nuovo database.

D'altra parte, se avete usato un livello di astrazione del database per interagire con il database di back-end, il passaggio ad altri database di back-end compatibili con ODBC  è fatto in un batter d'occhio. Avete solo bisogno di modificare le impostazioni di connessione per riflettere il nuovo database di back-end. Così come potete vedere, un livello di astrazione del database nasconde le complessità consentendovi di parlare con diversi back-end del database.

Date un'occhiata al diagramma seguente per capire quello di cui abbiamo discusso finora.

Database Abstraction Layers

Come potete vedere, il livello di astrazione del database si trova tra l'applicazione e il database effettivo, quindi l'applicazione non ha bisogno di sapere i dettagli di come funziona il database sottostante.

Opzioni del livello di astrazione del database

Dopo, vedremo un paio di opzioni che potete utilizzare nel vostro sviluppo di applicazioni quotidiano. Diamo un rapido sguardo alle opzioni che discuteremo nel resto dell'articolo.

  • PDO
  • Doctrine DBAL
  • ADOdb
  • PDOModel: astrazione del database e helper class in PHP
  • xCRUD sistema di gestione dati
  • PDO Crud: applicazione avanzata di PHP CRUD

Le prime tre opzioni, PDO, Doctrine DBAL e ADOdb, sono popolari opzioni open source e libere da utilizzare. Le altre tre sono opzioni commerciali disponibili su CodeCanyon, quindi dovrete pagarle se volete utilizzarle. D'altra parte, queste forniscono un sacco di funzioni che vi consentono di impostare rapidamente la struttura di base delle vostre applicazioni. Inoltre, il loro prezzo è ragionevolmente paragonato a quello che forniscono, come vedremo più avanti in questo articolo.

Un rapido sguardo alle opzioni popolari e gratuite

In questa sezione, vedremo un paio di opzioni popolari e gratuite che potreste utilizzare come livello di astrazione del database nelle vostre applicazioni PHP.

PDO

La libreria di PDO (PHP data objects), è un'estensione di PHP che fornisce un'interfaccia per lavorare con diversi back-end per database. Per poter utilizzare PDO, è necessario installare i driver di PDO specifici del database che volete utilizzare nelle vostre applicazioni.

Quindi, se volete lavorare con il database MySQL utilizzando l'estensione di PDO, è necessario assicurarsi di aver abilitato l'estensione php_pdo che è un'estensione core di PDO e l'estensione pdo_mysql che vi consente di comunicare con il server MySQL utilizzando il livello di astrazione del database di PDO.

Naturalmente, se volete lavorare con degli altri database invece di MySQL, sarà necessario installare l'estensione pdo per quel back-end per database. Per ulteriori informazioni sui driver per database supportati in PDO, potete visitare la pagina dei driver PDO nel manuale in PDF, che include tutto ciò che dovete sapere.

Doctrine DBAL

La biblioteca di Doctrine DBAL (livello di astrazione del database) è un'altra libreria di astrazione del database popolare che fornisce un wrapper a PDO. La Doctrine DBAL fornisce metodi API facile da usare e alcune funzionalità aggiuntive rispetto all'utilizzo della pura estensione PDO da sola.

L'elenco dei fornitori di database supportati da Doctrine DBAL è:

  • MySQL
  • Oracle
  • Microsoft SQL Server
  • PostgreSQL
  • SAP Sybase SQL Anywhere
  • SQLite
  • Drizzle

La Doctrine DBAL è sviluppata nell'ambito del progetto Doctrine, che fornisce anche un ORM (object-relational mapper) che si trova nella parte superiore della Doctrine DBAL. La Doctrine ORM è uno strumento che vi consente di scrivere le query del database nel modo orientato agli oggetti. Infatti, l'ORM stesso è un argomento vasto, quindi noi non entreremo nei dettagli qui, ma scriverò un articolo su ORM in futuro.

ADOdb

Infine, ADOdb è una libreria di classi molto popolare e un giocatore molto vecchio in questo territorio. È una libreria esterna che dovrete innanzitutto scaricare e configurare con le vostre impostazioni se desiderate utilizzarla. ADOdb supporta anche una vasta gamma di database tra cui scegliere come back-end del database.

Oltre a fornire i componenti per l'esecuzione delle query e l'aggiornamento del database, fornisce anche la libreria orientata agli oggetti Active Record che funziona come un ORM nello stesso modo che abbiamo discusso in precedenza nella sezione ORM Doctrine.

Inoltre, dovrete installare i driver corrispondenti per i back-end del database per questa libreria, allo stesso modo che fareste per l'estensione PDO. Per esempio, se volete lavorare con un database MySQL, dovrete installare il driver mysqli in PHP.

Quindi questo era un rapido sguardo a un paio di opzioni utili e gratuite. Nella sezione successiva, esamineremo alcune opzioni commerciali popolari che forniscono molte più funzionalità della sola astrazione del database.

I migliori script di astrazione del database PHP da acquistare

In questa sezione, discuteremo alcune opzioni avanzate che potreste scegliere per una libreria di astrazione del database. In realtà, le opzioni che abbiamo scelto non funzionano solo come una libreria di astrazione del database, forniscono molto più di questo.

PDOModel: astrazione del database e Helper Class di PHP

La libreria PDOModel è un'astrazione del database e un helper class di PHP che è costruita sulla parte superiore dell'estensione PDO. È un wrapper molto eccellente che vi consente di eseguire le operazioni inserisci, aggiorna, cancella e seleziona senza scrivere alcuna query SQL. Fornisce pertanto semplicità e leggibilità. In realtà, fornisce funzioni wrapper che vi permettono di fare delle operazioni complesse utilizzando delle semplici funzioni senza scrivere delle vere e proprie query SQL.

Al momento, supporta i back-end per database MySQL, Postgres, SQlite e SQL Server. Supporta le transazioni e le operazioni batch che sono una caratteristica essenziale se si desidera importare un database da una fonte esterna. La ciliegina sulla torta è che vi permette di esportare i dati in formati come CSV, Excel, PDF, XML e altro ancora.

Diamo un rapido sguardo al codice seguente che dimostra quanto sia facile utilizzare l'helper PDOModel.

Così come potete vedere, è una passeggiata eseguire le operazioni di database utilizzando l'helper class di PDOModel. Per ulteriori informazioni, potete visitare la pagina ufficiale di PDOModel su CodeCanyon.

Le librerie di cui abbiamo parlato finora sono stati i livelli di astrazione del database, ma guardiamo anche a un paio di plugin CRUD (creare, leggere, aggiornare ed eliminare) che vi consentono di generare facilmente la struttura del codice.

xCRUD: sistema di gestione dati

xCRUD è un semplice ma potente generatore di plugin CRUD scritto per PHP e MySQL. Vi consente di creare la struttura base del codice in pochissimo tempo, ed è anche utile per i non programmatori. Al suo interno, sta utilizzando l'estensione mysqli per gestire diverse operazioni di database. Ma non dovete preoccuparvi per le complessità sottostanti, avete solo bisogno di utilizzare le funzioni facili da usare fornite dal sistema xCRUD.

Mentre usando il plugin xCRUD, avete solo bisogno di progettare le tabelle del database, e il resto verrà gestito dal plugin xCRUD. Con solo poche righe di codice, avrete un'interfaccia utente pronta all'uso che vi consente di creare e aggiornare i record. Avrete anche una visualizzazione della lista in cui sono elencati tutti i record.

Diamo una rapida occhiata al codice che dovete scrivere per generare metodi CRUD per la tabella users.

Non è magnifico? Con solo poche righe di codice, avete generato una struttura del codice per la tabella users. E, potete fare molto di più con questo plugin poiché è provvisto di molte funzionalità. Potete visitare la pagina ufficiale del plugin su CodeCanyon per maggiori informazioni.

PDO CRUD: applicazione PHP CRUD avanzata

Infine, diamo un'occhiata al plugin PDO CRUD, che è anche un generatore di plugin CRUD che supporta i back-end per database MySQL, Postgres e SQLite. Con solo poche righe di codice, questo plugin è in grado di generare un'interfaccia utente bella e accattivante, che vi consente di eseguire le operazioni quotidiane con il vostro database senza sforzo.

Come suggerisce il nome, non è solo un generatore CRUD base, ma piuttosto è un modello completo per un'applicazione per database. Diamo un rapido sguardo a un paio delle potenti funzionalità di questo plugin:

  • modifiche in linea
  • upload dei file
  • supporto per i plugin JavaScript
  • operazioni di join
  • ricerca, impaginazione ed esportazione
  • supporto multi lingua
  • e molte altre

Ed ecco una rapida occhiata al codice che utilizzereste per generare un'interfaccia CRUD di base:

Questo è tutto! Visitate la pagina ufficiale di questo plugin CRUD su CodeCanyon per avere un'idea di quanto sia potente questo plugin.

Conclusione

In questo articolo, abbiamo discusso un paio di livelli di astrazione del database popolari e di generatori di plugin crud per PHP. Inizialmente, abbiamo discusso le estensioni che sono gratuite e popolari tra la comunità PHP. Poi, esaminato alcune estensioni popolari e davvero utili su CodeCanyon.

Spero che questo articolo vi aiuti a scegliere il livello di astrazione del database che meglio si adatta alle esigenze della vostra applicazione.

Sentitevi liberi di condividere le vostre esperienze e pensieri sui livelli di astrazione del database e sui sistemi CRUD qui sotto, saremo felici di ascoltarvi!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.