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

Creare rapidamente un'interfaccia PHP CRUD con lo strumento avanzato del generatore CRUD di PDO

by
Difficulty:BeginnerLength:MediumLanguages:

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

In questo articolo, esamineremo PDO CRUD — un generatore di moduli e strumento di gestione di database. PDO CRUD consente di creare moduli per le vostre tabelle del database con solo poche righe di codice, in modo rapido e facile per l'avvio di un'applicazione del database.

Ci sono un sacco di estensioni disponibili per l'astrazione del database e in particolare un generatore CRUD (creare, leggere, aggiornare ed eliminare) per PHP e MySQL. E naturalmente, troverete anche opzioni commerciali che forniscono delle funzionalità pronte all'uso e un supporto esteso. Nel caso di opzioni commerciali, potete anche aspettarvi codice di qualità, correzione dei bug e nuovi miglioramenti.

Oggi, discuteremo lo strumento PDO CRUD, disponibile all'acquisto su CodeCanyon a un prezzo molto ragionevole. È uno strumento completo di generatore CRUD che vi permette di costruire applicazioni fornendo solo le tabelle del database e scrivendo poche righe di codice.

Funziona su più database di back-end, tra cui MySQL, Postgres e SQLite. In questo articolo, vedremo come utilizzare PDO CRUD per costruire un sistema CRUD con il database di back-end MySQL.

Installazione e configurazione

In questa sezione, vedremo come installare e configurare lo strumento di PDO CRUD, una volta che lo avete acquistato e scaricato da CodeCanyon.

Non appena l'avete acquistato, sarete in grado di scaricare il file zip. Estraetelo, e troverete la directory con il codice del plugin principale: PDOCrud/script. Copiate questa directory nella vostra applicazione PHP.

Per esempio, se il progetto è configurato su /web/demo-app/public_html, dovreste copiare la directory dello script su /web/demo-app/public_html/script.

Successivamente, dovete inserire i dettagli del database di backend nel file di configurazione. Il file di configurazione si trova su /web/demo-app/public_html/script/config/config.php. Aprite il file in un editor di testo e modificate i seguenti dettagli in quel file.

Come potete vedere, i dettagli sono autoesplicativi. $config["script_url"] è impostato per l'URL che utilizzate per accedere al tuo sito.

Una volta che avete salvato i dettagli del database, siete pronti a utilizzare lo strumento PDO CRUD. Nel nostro esempio, creeremo due tabelle MySQL che contengono i dati relativi ai dipendenti e ai dipartimenti.

  • dipendenti: contiene informazioni sui dipendenti
  • dipartimento: contiene informazioni sul dipartimento

Aprite il vostro strumento di gestione del database ed eseguite i seguenti comandi per creare le tabelle, come abbiamo appena discusso sopra. Io uso PhpMyAdmin per lavorare con il database di back-end MySQL.

In primo luogo, creiamo la tabella dipartimento.

Successivamente, creeremo la tabella dipendente.

Come potete vedere, abbiamo utilizzato la colonna dept_id nella tabella dipendente, che contiene l'id del reparto corrispondente memorizzato nella tabella dipartimento.

Dopo aver creato le tabelle nel database, siamo pronti a costruire un'interfaccia dell'applicazione CRUD utilizzando lo strumento CRUD PDO!

Come impostare la pagina di base di CRUD

In questa sezione, vedremo come è possibile impostare un'interfaccia CRUD di base utilizzando lo strumento PDO CRUD scrivendo solo poche righe di codice.

La tabella dipartimento

Inizieremo con la tabella dipartimento.

Andiamo a creare department.php con il seguente contenuto. Se il documento root è /web/demo-app/public_html, create il file department.php su /web/demo-app/public_html/department.php. Ricordate che abbiamo già copiato nella directory dello script /web/demo-app/public_html/script.

E ora, se puntate il browser sul file department.php, dovreste vedere qualcosa come questo:

Blank Department View

Fiu! Con solo due righe di codice, disponete di un'interfaccia utente CRUD pronta all'uso che vi consente di eseguire tutte le azioni necessarie di creare, leggere, aggiornare ed eliminare sul vostro modello. Per non parlare del fatto che la visualizzazione predefinita dell'elenco contiene molte caratteristiche, tra cui:

  • ricerca
  • paginazione integrata
  • stampa
  • esporta i record nel formato CSV, PDF o Excel
  • operazione di eliminazione di massa
  • ordinamento delle colonne

Fate clic sul pulsante Aggiungi sul lato destro, e si aprirà il modulo per aggiungere un record di dipartimento.

Add View

Aggiungiamo alcuni record utilizzando il pulsante Aggiungi e vedete come appare.

List View

Come potete vedere, si tratta di un'interfaccia abbastanza leggera e pulita. Quasi senza sforzo, abbiamo costruito un CRUD per il modello di dipartimento! Dopo, vedremo come fare lo stesso per la tabella dipendente.

La tabella dipendente

In questa sezione, vedremo come costruire un CRUD per la tabella dipendente. Creiamo employee.php con il seguente contenuto.

È praticamente lo stesso codice dell'ultima volta; abbiamo solo bisogno di cambiare il nome della tabella. Se fate clic sul pulsante Aggiungi, porta anche un bel modulo che permette di aggiungere il record del dipendente.

Add Employee

Potreste avere notato un problema: il campo Dept id è un campo di testo, ma sarebbe meglio come elenco a discesa contenente il nome dei dipartimenti. Vediamo come raggiungere questo obiettivo.

In questo codice, siamo entrati nella tabella dipartimento attraverso PDO CRUD così possiamo associare il nome del dipartimento con l'ID del dipartimento. Quindi, abbiamo aggiornato le opzioni vincolanti per il campo id dipartimento in modo che verrà eseguito il rendering come un elenco a discesa (select).

Ora, fate clic sul pulsante Aggiungi per vedere come appare! Dovreste vedere che il campo Dept Id è ora convertito in un elenco a discesa!

Drop-down Demo

Aggiungiamo alcuni record dei dipendenti e vediamo come appare l'elenco dei dipendenti:

Employee View

Sembra bello! Ma qui abbiamo un altro piccolo problema: potete vedere che la colonna Dept id mostra l'ID del dipartimento, e sarebbe bello visualizzare invece il nome reale del dipartimento. Scopriamo come raggiungere questo obiettivo!

Correggiamo il codice di employee.php con il seguente contenuto.

Qui, abbiamo creato una join tra le tabelle del dipartimento e dei dipendenti con $pdocrud->joinTable, e poi detto a PDO CRUD per eseguire il rendering solo del nome del dipendente, del nome del dipartimento e delle informazioni di contatto con $pdocrud->crudTableCol.

E con tale modifica, l'elenco dei dipendenti dovrebbe assomigliare a questo:

Employee With Reference

Come potete vedere, lo script PDO CRUD è abbastanza flessibile e vi permette ogni possibile opzione per personalizzare l'interfaccia utente.

Finora, abbiamo discusso di come impostare un'interfaccia CRUD di base. Vedremo qualche opzione in più che potete utilizzare per migliorare e personalizzare l'interfaccia utente di CRUD nella sezione successiva.

Opzioni di personalizzazione

In questa sezione, vedremo alcune opzioni di personalizzazione fornite dallo strumento PDO CRUD. Naturalmente, non è possibile passare in rassegna tutte le opzioni, poiché lo strumento PDO CRUD offre molto più di quanto potremmo coprire in un unico articolo, ma cercherò di evidenziare un paio di quelli importanti.

Inline Edit

L'inline editing è una delle caratteristiche più importanti, consentendo di modificare un record rapidamente nella  pagina di inserimento dell'elenco stesso. Vediamo come abilitarlo per la pagina dell'elenco del dipartimento.

Correggiamo lo script department.php come illustrato nel seguente frammento di codice.

Come potete vedere, abbiamo appena attivato l'impostazione inlineEditbtn, e la funzione di inline editing è subito disponibile!

Inline Editing

Questa è una caratteristica molto utile che consente di modificare i record al volo!

Filtri

Come avrete notato, la pagina dell'elenco del dipartimento fornisce già una ricerca di testo libero per filtrare i record. Tuttavia, potreste voler aggiungere dei filtri personalizzati per migliorare la funzionalità di ricerca. Che è ciò fornisce esattamente l'opzione Filtri poiché consente di creare dei filtri personalizzati!

Useremo employee.php per questa funzionalità poiché è il caso d'uso perfetto per la dimostrazione. Nella pagina dell'elenco del dipendente, stiamo visualizzando il nome del dipartimento per ogni record del dipendente, quindi costruiamo un filtro del dipartimento che vi consente di filtrare i record con il nome del dipartimento.

Proseguite e correggete employee.php come illustrato nel seguente frammento di codice.

Abbiamo solo aggiunto due righe, con chiamate a addFilter e setFilterSource, e con questo, l'elenco dei dipendenti è simile al seguente:

Filters

Non è fantastico? Con solo due righe di codice, avete aggiunto il vostro filtro personalizzato!

Caricamento delle immagini

Si tratta di una funzione indispensabile se desiderate impostare il caricamento dei file nei vostri moduli. Con solo una singola riga di codice, potete convertire un campo regolare in un campo di caricamento file, come illustrato nel seguente frammento di codice.

Darò per scontato che avete un campo profile_image nella vostra tabella dei dipendenti, e che siete pronti a convertirla in un campo di caricamento file!

Questo è tutto! Gli utenti saranno ora in grado di caricare un'immagine nel campo profile_image.

CAPTCHA

Al giorno d'oggi, se volete salvare il vostro sito dallo spam, la verifica CAPTCHA è una funzione essenziale. Lo strumento PDO CRUD fornisce già un paio di opzioni tra cui scegliere.

Fornisce due opzioni: CAPTCHA e ReCAPTCHA. Se si seleziona l'opzione CAPTCHA, si presenta all'utente un indovinello matematico da risolvere. D'altra parte, se selezionate l'opzione ReCAPTCHA, si presenta il famoso Non sono un robot!

Se volete aggiungere un indovinello CAPTCHA semplice, è necessario aggiungere la seguente riga prima di eseguire il rendering CRUD.

D'altra parte, se preferite ReCAPTCHA, potete ottenere lo stesso risultato utilizzando il seguente frammento di codice.

Dovete solo sostituire gli argomenti your-site-key e site-secret con le credenziali valide di Google.

Finora, abbiamo discusso le opzioni che migliorano la funzionalità dell'applicazione. Dopo, vedremo come potreste alterare il tema e quindi l'aspetto dell'applicazione.

Temi

Se non ti piace il tema predefinito, avete un paio di opzioni tra cui scegliere. Lo strumento PDO CRUD fornisce temi scuri, chiari, verdi e avanzati come altre opzioni tra cui scegliere.

Per esempio, il seguente elenco è basato sul tema verde.

Green Theme

Sembra bello, non è vero?

Bootstrap puro

Anche se il tema predefinito supporta già il layout responsive, lo strumento PDO CRUD supporta anche l'integrazione della libreria Bootstrap!

È necessario utilizzare il seguente frammento di codice se desiderate creare un layout utilizzando la libreria di Bootstrap.

Ed ecco come appare:

Bootstrap Theme

Conclusione

Oggi, abbiamo esaminato il generatore di moduli per il database avanzato di PDO CRUD e lo strumento di gestione dei dati disponibile su CodeCanyon. Questo è uno strumento CRUD per la creazione di interfacce applicative principalmente. Fornisce una varietà di opzioni di personalizzazione che coprono quasi tutto ciò che richiede un sistema CRUD.

Come ho detto in precedenza, è davvero difficile coprire tutto ciò che lo strumento PDO CRUD fornisce in un unico articolo, ma spero che la documentazione ufficiale possa darvi qualche informazione sulle sue caratteristiche complete.

Spero che siate convinti che lo strumento PDO CRUD è abbastanza potente per soddisfare le vostre esigenze e che vi consenta di sbarazzarvi del lavoro ripetitivo che dovete fare ogni volta che si desidera impostare CRUD nella vostra applicazione. Anche se si tratta di un plugin commerciale, credo che il prezzo è ragionevole considerando la pletora di caratteristiche che fornisce.

Se avete suggerimenti o commenti, sentitevi liberi di usare il feed qui sotto e sarò felice di cominciare una conversazione!

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.