✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Creazione di un sistema CRUD in WordPress – Plugin tabelle wpDataTables

211

Questo articolo sulla creazione di un sistema CRUD in WordPress è stato pubblicato nel 2014. Tuttavia, abbiamo notato che questo argomento è diventato ancora più attuale, quindi abbiamo deciso di dargli un nuovo aspetto.

Che cos’è un sistema CRUD, come integrare un sistema CRUD per MySQL nel tuo sito WordPress, quali sono i pro ei contro dell’utilizzo di approcci diversi?

Cos’è un sistema CRUD?

L’abbreviazione CRUD deriva da C reate, Read, Update, D elete. Che, in altre parole, significa un sistema di gestione dei dati. Sul web, molto probabilmente significherebbe un software che gestisce le voci nel tuo database. Di solito, si riferisce a MySQL, PostgreSQL, MS SQL o altri motori DB.

Un ottimo e, forse, l’esempio più popolare di un sistema CRUD è phpMyAdmin. PHPMyAdmin è uno strumento utilizzato da quasi tutti gli sviluppatori web per gestire i dati MySQL online. È diventato così ampiamente diffuso che attualmente può essere definito uno strumento standard per la gestione dei database MySQL. Al giorno d’oggi è preinstallato su quasi tutti gli strumenti CPanel dei provider di hosting.

Esistono migliaia di casi d’uso standard per i sistemi CRUD. Ad esempio, quasi tutti i cataloghi, i registri delle voci, le informazioni statistiche. Fondamentalmente, qualsiasi cosa relativa alla memorizzazione delle informazioni richiederebbe l’aggiunta, la modifica e la rimozione di bit di informazioni. È qui che entrano in gioco i sistemi CRUD.

Perché dovresti aver bisogno di un sistema CRUD in WordPress?

Lo stesso WordPress è un potente CMS (Content Management System), che è anche un caso speciale del sistema CRUD. Come sai, gli utenti del sito WordPress possono aggiungere post e pagine, modificarli o eliminarli. Ma a volte si verifica una situazione in cui è necessario gestire alcuni dati del database direttamente dal front-end di WordPress che generalmente non è pubblicato o correlato alla pagina e non si adatta bene alle tassonomie di WordPress. Tra le altre può essere una di queste situazioni in cui avresti bisogno di un sistema CRUD indipendente in WordPress:

  • Vorresti avere un bug tracker, un registro delle voci o qualche altro strumento di immissione dei dati sul tuo sito WordPress;
  • O, ad esempio, vuoi consentire ad alcuni utenti di modificare alcuni dati aziendali dal front-end del tuo sito senza fornire loro l’accesso al pannello di amministrazione del sito WordPress, o forse anche senza rivelare il fatto che il sito funziona su WordPress;
  • Un altro esempio è un requisito per consentire ad alcuni utenti di modificare una tabella DB. Ad esempio, modificare un ordine effettuato, modificare alcuni dati personali, ecc.

E richieste simili.

Come integrare un sistema CRUD in un sito WordPress?

La soluzione più semplice: prova a trovare un plug-in adatto

Primo: assicurati di averne davvero bisogno. Molte delle attività non sono uniche e probabilmente puoi trovare un plug-in adatto alle tue esigenze. Ad esempio, se hai bisogno di un bug tracker, come menzionato sopra, puoi controllare e scaricare questo o questo.

E se hai bisogno di qualcosa di più generico, come modificare diverse tabelle MySQL dal front-end di WordPress, prova il nostro plugin wpDataTables che è fondamentalmente un sistema CRUD in WordPress. Puoi vedere l’elenco delle funzioni e degli esempi di come funziona qui. O anche provare una versione Lite gratuita nel repository dei plugin di WordPress.

Vale la pena notare che wpDataTables non impone alcuna limitazione alla struttura dei dati, alla quantità di colonne o righe, supporta molti tipi di dati e diversi tipi di input dell’editor. Ad esempio alcuni tipi specifici come allegati o DateTime. Inoltre, consente di modificare i dati tramite un editor di moduli popup, con un editor inline o anche con un editor di fogli di calcolo simile a Excel.

Se ritieni ancora di dover creare un sistema CRUD personalizzato in WordPress, dovresti prepararti per un po’ di programmazione seria per farlo.

Avvia un nuovo plugin per WordPress

Se pensi che nessun plugin soddisfi le tue esigenze, creane uno tuo! Potrebbe non essere così spaventoso come sembra a prima vista. Inizia leggendo questo bel tutorial sulla creazione di un plugin per WordPress da zero. E ovviamente anche questo nel codice di WordPress.

Il primo passo iniziale quando crei un plug-in, incluso un sistema CRUD in un plug-in di WordPress, è strutturare i file correttamente.
L’approccio abituale consiste nel posizionare il file del punto CRUD della voce principale nella directory principale del plug-in e preparare diverse sottocartelle:

  • Risorse: tutti i javascript, i fogli di stile, i caratteri, le immagini e altre risorse statiche che saranno necessarie per il tuo sistema CRUD;
  • Source – cartella per le classi PHP “core" che eseguiranno tutte le funzionalità CRUD nel back-end;
  • Lib – cartella per qualsiasi componente di terze parti che potresti voler utilizzare nel tuo sistema CRUD;
  • Modelli – cartella per i modelli HTML che saranno l’interfaccia utente per il tuo sistema CRUD.

Possono essercene di più (controller, gestori di shortcode e altri), ma è un minimo per cominciare.

Crea editor back-end (classi PHP)

Prima di tutto, avresti bisogno della parte di back-end: uno script PHP che farebbe effettivamente i lavori CRUD. Per questo, dovresti connetterlo con WordPress DB (oggetto globale $ wpdb). Puoi leggere un bel tutorial qui sull’utilizzo del database di WordPress e dell’oggetto $wpdb nei tuoi plugin.

Se utilizzi un DB esterno, dovrai ad esempio utilizzare una connessione PDO separata o semplicemente funzioni PHP MySQLi integrate (se il tuo motore DB è MySQL).

Il tuo compito in questo passaggio è preparare un insieme di classi e metodi che accetteranno i dati dal front-end in una forma prevista, li convalideranno e li sanificheranno (la sanificazione di tutti gli input è una misura di sicurezza molto importante per tutti i sistemi CRUD) ed eseguiranno le azioni INSERT, UPDATE e DELETE sul tuo database.

Come descritto nel passaggio precedente, questi file "core" apparterrebbero alla cartella "source" del tuo nuovo plugin CRUD WordPress.

Crea un’interfaccia front-end (HTML, JS, PHP)

Quando le classi e i metodi di gestione del database sono preparati, il tuo plug-in avrebbe bisogno di un’interfaccia front-end per l’utente con il tuo nuovo sistema CRUD in WordPress. La soluzione migliore sarebbe quella di preparare una serie di modelli nei nuovi file di plug-in e riprodurli dove necessario con uno shortcode.

Ha senso mantenere sempre separati i modelli HTML dal codice (approccio MVC) e preparare file di modello separati logicamente, ad esempio: “edit.tpl.php”, “delete.tpl.php”, “list.tpl.php “, ecc. – un modello per ogni pagina o azione CRUD.

Qui puoi leggere un ottimo articolo del codice sull’API Shortcode di WordPress.

Connetti front-end e back-end con le chiamate AJAX (JS)

Naturalmente, puoi farlo "stile vecchia scuola", con semplici invii di moduli e ricaricamento della pagina. Tuttavia, al giorno d’oggi non è più un approccio comune. L’uso di AJAX è invece un approccio standard, tramite jQuery o altre librerie come Angular. Quindi la nostra raccomandazione è di dedicare del tempo e esaminare l’utilizzo di AJAX nei plug-in di WordPress, ecco un ottimo articolo del Codex su come utilizzare AJAX nei plug-in, sia lato amministratore che front-end.

Puoi inserire il codice JS nella cartella "assets" che hai preparato nel primo passaggio.

Testare, perfezionare ed eseguire il debug

Al termine della parte di implementazione, prenditi del tempo e testa il tuo nuovo sistema CRUD in WordPress. Non puoi individuare tutti i bug dall’inizio, ma ripetere più volte le azioni di routine CRUD con esempi diversi (casi "edge" preferibili, ad esempio quantità molto grandi di dati, fare clic più volte sullo stesso pulsante, ecc.) ti aiuterà sempre per intercettare la maggior parte dei bug – e questi si verificano sempre quando si implementa qualcosa di nuovo.

CRUD vs REST: qual è la differenza

REST è uno stile architettonico per la creazione di applicazioni in rete basate su un protocollo di comunicazione client-server, stateless e memorizzabile nella cache, ovvero il protocollo HTTP. CRUD è l’acronimo di CREATE, READ, UPDATE e DELETE, le funzioni di base della memorizzazione persistente nella programmazione.

Le operazioni CRUD, cioè CREATE, READ, UPDATE, DELETE, sono simili ai comandi di base REST, cioè GET, PUT, POST, DELETE, il che crea confusione tra i due. Cos’è CRUD? Cos’è il RIPOSO? In CRUD vs REST, qual è la definizione CRUD? REST è una semplice copia carbone di CRUD?

Queste sono tutte domande molto pertinenti a cui questo articolo intende rispondere in dettaglio!

Come funziona il REST?

Non è possibile comprendere termini come API REST, servizi REST, matrice CRUD o database CRUD o programmazione REST se non si comprende la differenza tra i due processi per quanto riguarda il modo in cui funzionano. La confusione scomparirà una volta che conosci questa differenza.

Puoi lavorare REST su qualsiasi risorsa, che si tratti di un file multimediale, documento, sito Web, ecc. Non ci sono restrizioni su ciò su cui puoi lavorare REST; puoi usare HTML solo come protocollo di comunicazione per evidenziare le risorse. REST è l’acronimo di Representational State Transfer.

REST indica che ogni URL distintivo rappresenta un oggetto, a cui è possibile accedere tramite HTTP GET, nonché modificarlo ed eliminarlo tramite HTTP POST, PUT o DELETE.

Come funziona CRUD?

Puoi applicare CRUD solo ai record del database e non puoi creare API CRUD come crei API REST. L’applicazione CRUD è limitata ai database, motivo per cui CRUD, a differenza di REST, non è uno stile di architettura, ma un ciclo. Le app e i siti Web contengono tutti cicli CRUD diversi.

Ad esempio, un visitatore di un sito di e-commerce può CREARE un account, AGGIORNARE l’account, LEGGERE le informazioni ed ELIMINARE l’account. Questo è un ciclo CRUD completo che include ogni operazione CRUD.

Ad esempio, sullo stesso sito di e-commerce, un visitatore può CREARE un articolo nell’e-cart, quindi completare l’intero ciclo CRUD LETTURA, AGGIORNAMENTO e persino CANCELLAZIONE dell’articolo.

Il fondamento ei principi del REST

I comandi di base di Representational State Transfer – l’acronimo REST – ruotano attorno a un oggetto o una risorsa, che può essere descritto come qualsiasi cosa che puoi rivelare usando il protocollo HTTP. Esempi di risorse REST: immagine, sito Web, documento, servizio. Il cielo è il limite.

REST è un’interfaccia di programmazione delle applicazioni, o API, o un’architettura destinata alla multimedialità distribuita. Un’API è un servizio Web che segue i principi dell’architettura REST. Pertanto, REST chiama ciascuna API tramite uno dei metodi di richiesta HTTP, GET, PUT, POST e DELETE.

I sei principi guida dell’architettura RESTful

  1. Mandato client-server

Il mandato client-server sottolinea il fatto che REST rappresenta un metodo distribuito che si basa sulla natura della separazione client-server. Un servizio REST comporta diverse funzionalità e si occupa delle richieste. Il client effettua le richieste e il server le accetta o le rifiuta.

  1. Apolidia

Creazione di un sistema CRUD in WordPress - Plugin tabelle wpDataTables

L’apolidia limita il tipo di richieste che possono essere inviate tra consumatore e server. In effetti, è la richiesta che avvia la comunicazione client-servizio, in cui la richiesta contiene tutte le informazioni necessarie al server per rispondere.

  1. Memorizzazione nella cache

Lo scopo della memorizzazione nella cache di una richiesta non è mai dover inviare la stessa richiesta due volte perché la memorizzazione nella cache indica al server di etichettare le risposte come memorizzabili nella cache o meno. Di conseguenza, la memorizzazione nella cache riduce i vincoli o le restrizioni generati dall’apolidia.

  1. Contratto uniforme

Il contratto uniforme esclude l’uso di diverse interfacce indipendenti all’interno di un’interfaccia di programmazione dell’applicazione o API. REST si attiene ai principi di un contratto uniforme. Pertanto, un’interfaccia REST è condivisa tramite connessioni ipermediali.

  1. Sistema a strati

Un sistema a più livelli utilizza diversi livelli indipendenti per sviluppare ed estendere l’interfaccia. Poiché i livelli non possono vedersi l’uno nell’altro, è possibile inserire nuove richieste e middleware che non influiranno sui comandi iniziali e sul funzionamento client-server.

  1. Opzionale: codice su richiesta

Sebbene Client-Server, Caching, Statelessness, Uniform Contract e Layered System siano indispensabili per le app RESTful, Code-On-Demand non è obbligatorio. Tuttavia, Code-on-Demand consente alla logica all’interno dei client di rimanere indipendente e quindi aggiornata separatamente dalla logica del server.

Considerazioni finali su CRUD vs REST

CRUD comporta le operazioni essenziali eseguite nell’archiviazione di dati statici o nei database, come la gestione di record o oggetti passivi. CRUD essenzialmente manipola i dati di base.

REST si basa sulla rappresentazione delle risorse tramite URL univoci, dove le risorse sono astrazioni di oggetti, in cui il commento di un utente può essere una risorsa, ad esempio.

In quanto tale, REST comporta più di un record in una tabella dei commenti. REST riguarda la relazione del record con la risorsa utente e il post/commento a cui è allegato. REST è uno stile API di altissimo livello che interagisce con un sistema complesso.


Naturalmente, questo articolo non era un tutorial completo, dal momento che ci sarebbero volute venti pagine per scriverne uno. Ma facci sapere se hai qualche domanda o se vorresti vedere un esempio passo dopo passo specifico e ne creeremo uno per te.

Speriamo sia stato utile in qualche modo.

Grazie per aver letto!

Fonte immagine: http://www.tyseo.net

Fonte di registrazione: wpdatatables.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More