| Massimo Fuser - Genius@Work | 11-12-2020
Interrogare un database è una procedura usuale per diverse realtà lavorative, dove con svariate e più o meno complesse interfacce grafiche, inserendo del semplice testo o selezionando delle voci che ci vengono sottoposte, si vogliono visualizzare dei precisi dati registrati.
Ma cosa succede quando il nostro database deve integrarsi con WordPress? Scopriamolo insieme.
Sommario:
1- I database
2- Connessione, l’estensione MySQLi e i parametri
3- Si ma, WordPress utilizza già il suo database
4- La classe WPDB
5- Conclusioni
Base di dati, banca dati, comunemente abbreviato con DB, il database altro non è che un insieme di dati strutturati. Esistono svariate tipologie di database, in questo articolo ne prenderemo in considerazione una in particolare, il database relazionale e nello specifico MySQL, un RDBMS (relational database management system).
I linguaggi di programmazione che lo supportano sono numerosi: PHP, Python, Java, ODBC e molti altri.
WordPress nasce con il supporto predefinito a MySQL.
L’estensione MySQLi permette di disporre di una duplice interfaccia, procedurale e ad oggetti, con la diffusione ormai totale di PHP 7 le sintassi mysql function non sono più incluse, ci orienteremo quindi verso le peculiarità di una programmazione object oriented.
Per utilizzare la classe è necessario istanziarla:
il costruttore MySQLi utilizzerà i parametri che gli passiamo per aprire una connessione con il DB creando un nuovo oggetto, tramite il metodo connect_error() otteniamo una verifica dell’avvenuta connessione che in caso contrario restituirebbe un codice errore (connect_errno) e la relativa descrizione.
I parametri da passare al costruttore sono i seguenti:
1. L’host, l’indirizzo della macchina in cui sta girando MySQL, può essere un nome, un indirizzo IP e molto comunemente in locale si identifica in ‘localhost’ ;
2. L’username, il nome utente abilitato ad inviare istruzione al DB;
3. La password, associata al nome utente;
4. Il nome del database.
WordPress, un CMS che negli anni si è diffuso per la sua praticità di utilizzo e perché permette una elevata customizzazione in fase di sviluppo, tale da permettere una libertà di utilizzo ottimale per la realizzazione di siti web dinamici evoluti.
WordPress utilizza un DB relazionale in cui sono presenti delle tabelle e dei record predefiniti che vengono continuamente interrogati in funzione delle richieste provenienti dal core e dalle funzionalità messe a disposizione dal CMS.
Il database di WP viene anche integrato dai plugin e dalle funzionalità aggiuntive messe a disposizione dagli sviluppatori, ma anche dalla customizzazione nel web developing.
Ma cosa succede se decidiamo di affiancare un altro DB a quello a cui si appoggia WordPress?
Nella migliore delle ipotesi senza gli opportuni accorgimenti, richiamando un DB esterno istanziando la classe descritta sopra, il distacco del DB di WordPress che comporterà l’interruzione delle procedure e delle istanze per cui la cosa più plausibile che ci possa aspettare è il non funzionamento del core e di conseguenza del sito web.
Alla pagina di supporto:
https://codex.wordpress.org/it:Riferimento_classi/wpdb
viene fornita un’esaustiva descrizione della classe WPDB in merito a tutte le operazioni di interfacciamento con il DB di WordPress. Ma come descritto serve a interrogare il database di WordPress e non il database esterno che intendiamo affiancare.
Si rende quindi necessario creare una seconda istanza seguendo le procedure della classe MySQLi, ma sfruttando la classe WPDB.
Nello specifico:
Si rende quindi necessario creare una seconda istanza seguendo le procedure della classe MySQLi, ma sfruttando la classe WPDB.
I parametri che ho inserito a titolo di esempio, mi riferisco a ‘localhost’ , ‘username’ e ‘password’ saranno i medesimi che vengono utilizzati da WordPress per interrogare il suo database. Solamente il parametro ‘nome_database’ sarà diverso e corrisponderà al nome che avete assegnato al database in fase di creazione.
Per l’utilizzo completo della classe ci rifacciamo alla pagina di supporto che ho citato prima, ritroveremo sia le modalità per richiamare i dati dal DB sia le procedure per inserire nuovi record, oltre a varie modalità di interrogazione del DB.
Nell’articolo abbiamo visto come procedere per affiancare al database di WordPress un database parallelo che può tornarci comodo per restituire dei dati separati ma che vogliamo interrogare attraverso una pagina web del sito web costruito con un CMS di ormai larghissima diffusione.
Potrebbe essere una pratica poco usuale nella quotidianità di un web designer, dove la creazione di un sito web è fine a se stessa, ma conoscere le potenzialità di queste operazioni può ampliarne il panorama di utilizzo rispondendo alle esigenze di una possibile clientela.
Ti invitiamo a visitare la nostra pagina relativa ai siti web, sono sicuro troverai interessanti informazioni.
Massimo Fuser
Genius@Work