In questo tutorial esamineremo PDO CRUD, un generatore di moduli e uno strumento di gestione del database. PDO CRUD ti aiuta a creare moduli per le tue tabelle di database con poche righe di codice, rendendo semplice e veloce il bootstrap di un'applicazione di database.
Ci sono molte estensioni disponibili per l'astrazione del database e in particolare la generazione CRUD (crea, leggi, aggiorna ed elimina) per PHP e MySQL. E, naturalmente, troverai anche opzioni commerciali che forniscono funzionalità pronte per l'uso e supporto esteso. Nel caso di opzioni commerciali, puoi anche aspettarti codice di qualità, correzioni di bug e nuovi miglioramenti.
Oggi parleremo dello strumento PDO CRUD, disponibile su CodeCanyon per l'acquisto a un prezzo molto ragionevole. È uno strumento di creazione CRUD completo che ti consente di creare applicazioni semplicemente fornendo tabelle di database e scrivendo alcune righe di codice.
Funziona con più back-end di database, inclusi MySQL, Postgres e SQLite. In questo tutorial avanzato su PHP CRUD, vedremo come utilizzare PDO CRUD per costruire un sistema CRUD con il back-end del database MySQL.
Nota:quieres aprender cómo hacer un CRUD en PHP e MySQL, da clic aquí .
Installazione e configurazione
In questa sezione vedremo come installare e configurare lo strumento PDO CRUD una volta acquistato e scaricato da CodeCanyon.
Non appena lo acquisti, sarai in grado di scaricare il file zip. Estrailo e troverai la directory con il codice del plugin principale:PDOcrud/script . Copia questa directory nella tua applicazione PHP.
Ad esempio, se il tuo progetto è configurato in /web/demo-app/public_html , dovresti copiare la directory dello script in /web/demo-app/public_html/script .
Successivamente, è necessario inserire i dettagli del back-end del database nel file di configurazione. Il file di configurazione si trova in /web/demo-app/public_html/script/config/config.php . Apri quel file nel tuo editor di testo preferito e modifica i seguenti dettagli in quel file.
$config["script_url"] = "https://my-demo-app"; /************************ database ************************/ //Set the host name to connect for database $config["hostname"] = "localhost"; //Set the database name $config["database"] = "demo_app_db"; //Set the username for database access $config["username"] = "demo_app"; //Set the pwd for the database user $config["password"] = "demo_app"; //Set the database type to be used $config["dbtype"] = "mysql"
Come puoi vedere, i dettagli sono autoesplicativi. Il $config["script_url"]
è impostato sull'URL che utilizzi per accedere al tuo sito.
Dopo aver salvato i dettagli del database, sei pronto per utilizzare lo strumento PDO CRUD. Nel nostro esempio creeremo due tabelle MySQL che contengono i dati di dipendenti e dipartimenti.
- dipendenti :contiene le informazioni sui dipendenti
- reparto :contiene le informazioni sul dipartimento
Apri il tuo strumento di gestione del database ed esegui i seguenti comandi per creare tabelle come abbiamo appena discusso sopra. Uso phpMyAdmin per lavorare con il back-end del database MySQL.
Per prima cosa, creiamo la tabella del reparto.
CREATE TABLE `department` ( `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `department_name` varchar(255) NOT NULL DEFAULT '' ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Successivamente, creeremo la tabella dei dipendenti.
CREATE TABLE `employee` ( `id` int(12) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `dept_id` int(11) UNSIGNED NOT NULL, `first_name` varchar(255) NOT NULL DEFAULT '', `last_name` varchar(255) NOT NULL DEFAULT '', `email` varchar(255) NOT NULL DEFAULT '', `phone` varchar(255) NOT NULL DEFAULT '' ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Come puoi vedere, abbiamo utilizzato il dept_id
colonna nella tabella del dipendente, che contiene l'ID del dipartimento corrispondente memorizzato nella tabella del dipartimento.
Dopo aver creato le tabelle nel database, siamo pronti per creare un'interfaccia dell'applicazione CRUD utilizzando lo strumento PDO CRUD!
Come impostare CRUD di base
In questa sezione vedremo come impostare un'interfaccia CRUD di base utilizzando lo strumento PDO CRUD scrivendo solo poche righe di codice.
Il Tavolo del Dipartimento
Inizieremo con il tavolo del reparto.
Creiamo department.php con i seguenti contenuti. Se la radice del tuo documento è /web/demo-app/public_html/ , crea il department.php file in /web/demo-app/public_html/department.php . Ricordiamo che abbiamo già copiato la directory degli script in /web/demo-app/public_html/script .
<?php require_once "script/pdocrud.php"; $pdocrud = new PDOCrud(); echo $pdocrud->dbTable("department")->render();
E ora, se punti il tuo browser su department.php file, dovresti vedere qualcosa del genere:
Uff! Con solo due righe di codice, hai un'interfaccia utente CRUD pronta per l'uso che ti consente di eseguire tutte le azioni necessarie per creare, leggere, aggiornare ed eliminare sul tuo modello. Per non parlare del fatto che la stessa visualizzazione dell'elenco predefinita contiene molte funzionalità, tra cui:
- cerca
- impaginazione incorporata
- stampa
- esporta i record in formato CSV, PDF o Excel
- operazione di eliminazione in blocco
- ordinamento per colonne
Fai clic su Aggiungi pulsante sul lato destro e si aprirà il modulo per aggiungere un record di reparto.
Aggiungiamo alcuni record utilizzando Aggiungi pulsante e guarda come appare.
Come puoi vedere, questa è un'interfaccia piuttosto leggera e ordinata. Con quasi nessun sforzo, abbiamo costruito un CRUD per il modello del dipartimento! Successivamente, vedremo come fare lo stesso per la tabella dei dipendenti.
La tabella dei dipendenti
In questa sezione vedremo come costruire un CRUD per la tabella dei dipendenti. Creiamo employee.php con i seguenti contenuti.
<?php require_once "script/pdocrud.php"; $pdocrud = new PDOCrud(); echo $pdocrud->dbTable("employee")->render();
È praticamente lo stesso codice dell'ultima volta; dobbiamo solo cambiare il nome della tabella. Se fai clic su Aggiungi pulsante, ti offre anche un bel modulo che ti consente di aggiungere il record del dipendente.
Potresti aver individuato un problema:l'ID reparto field è un campo di testo, ma sarebbe meglio come elenco a discesa contenente il nome dei reparti. Vediamo come raggiungere questo obiettivo.
<?php require_once "script/pdocrud.php"; $pdocrud = new PDOCrud(); // get departments $data = $pdocrud->getPDOModelObj()->select("department"); $options = array(); foreach($data as $record) { $options[$record['id']] = $record['department_name']; } // change the type of the dept_id field from textfield to select dropdown $pdocrud->fieldTypes("dept_id", "select"); $pdocrud->fieldDataBinding("dept_id", $options, "", "","array"); echo $pdocrud->dbTable("employee")->render();
In questo codice, abbiamo eseguito l'accesso alla tabella del dipartimento tramite PDO CRUD in modo da poter associare il nome del dipartimento agli ID dipartimento. Quindi, abbiamo aggiornato le opzioni di associazione per il campo ID reparto in modo che venga visualizzato come un menu a discesa (select
) elenco.
Ora, fai clic su Aggiungi pulsante per vedere come appare! Dovresti vedere l'ID reparto il campo è ora convertito in un menu a discesa!
Aggiungiamo alcuni record dei dipendenti e vediamo come appare l'elenco dei dipendenti:
Sembra carino! Ma qui abbiamo un altro piccolo problema:puoi vedere che l' ID reparto la colonna mostra l'ID del dipartimento e sarebbe invece utile visualizzare il nome del dipartimento effettivo. Scopriamo come raggiungere questo obiettivo!
Rivediamo il codice di employee.php con i seguenti contenuti.
<?php require_once "script/pdocrud.php"; $pdocrud = new PDOCrud(); // change the type of the dept_id field from textfield to select dropdown $data = $pdocrud->getPDOModelObj()->select("department"); $options = array(); foreach($data as $record) { $options[$record['id']] = $record['department_name']; } $pdocrud->fieldTypes("dept_id", "select"); $pdocrud->fieldDataBinding("dept_id", $options, "", "","array"); $pdocrud->crudTableCol(array("first_name","last_name", "department_name", "email","phone")); $pdocrud->joinTable("department", "employee.dept_id = department.id", "INNER JOIN"); echo $pdocrud->dbTable("employee")->render();
Qui, abbiamo creato un join tra le tabelle dipendenti e reparto con $pdocrud->joinTable
, quindi ha detto a PDO CRUD di visualizzare solo il nome del dipendente, il nome del dipartimento e le informazioni di contatto con $pdocrud->crudTableCol
.
E con questa modifica, l'elenco dei dipendenti dovrebbe apparire così:
Come puoi vedere, lo script PDO CRUD è piuttosto flessibile e ti consente ogni possibile opzione per personalizzare la tua interfaccia utente.
Finora abbiamo discusso di come configurare un'interfaccia CRUD di base. Vedremo alcune altre opzioni che potresti utilizzare per migliorare e personalizzare la tua UI CRUD nella sezione successiva.
Opzioni di personalizzazione
In questa sezione, vedremo alcune opzioni di personalizzazione fornite dallo strumento PDO CRUD. Ovviamente non è possibile esaminare tutte le opzioni poiché lo strumento PDO CRUD fornisce molto di più di quanto potremmo coprire in un singolo articolo, ma cercherò di evidenziarne un paio importanti.
Modifica in linea
La modifica in linea è una delle funzionalità più importanti, che ti consente di modificare rapidamente un record nella pagina dell'elenco stesso. Vediamo come abilitarlo per la pagina di elenco dei dipartimenti.
Rivediamo il department.php script come mostrato nel frammento di codice seguente.
<?php require_once "script/pdocrud.php"; $pdocrud = new PDOCrud(); $pdocrud->setSettings("inlineEditbtn", true); echo $pdocrud->dbTable("department")->render();
Come puoi vedere, abbiamo appena abilitato inlineEditbtn
impostazione e la funzione di modifica in linea è subito disponibile!
Questa è una funzionalità davvero utile che ti consente di modificare i record al volo!
Filtri
Come avrai notato, la pagina dell'elenco dei dipartimenti fornisce già una ricerca di testo gratuita per filtrare i record. Tuttavia, potresti voler aggiungere i tuoi filtri personalizzati per migliorare la funzione di ricerca. Questo è esattamente ciò che i Filtri l'opzione fornisce in quanto ti consente di creare filtri personalizzati!
Utilizzeremo employee.php per questa funzione in quanto è il caso d'uso dimostrativo perfetto. Nella pagina dell'elenco dei dipendenti, visualizziamo il nome del dipartimento per ciascun record del dipendente, quindi creiamo un filtro del dipartimento che ti consenta di filtrare i record in base al nome del dipartimento.
Vai avanti e rivedi il tuo employee.php come mostrato nel frammento di codice seguente.
<?php require_once "script/pdocrud.php"; $pdocrud = new PDOCrud(); $data = $pdocrud->getPDOModelObj()->select("department"); $options = array(); foreach($data as $record) { $options[$record['id']] = $record['department_name']; } $pdocrud->fieldTypes("dept_id", "select");//change state to select dropdown $pdocrud->fieldDataBinding("dept_id", $options, "", "","array");//add data using array in select dropdown $pdocrud->crudTableCol(array("first_name","last_name", "department_name", "email","phone")); $pdocrud->joinTable("department", "employee.dept_id = department.id", "INNER JOIN"); $pdocrud->addFilter("department_filter", "Department", "dept_id", "dropdown"); $pdocrud->setFilterSource("department_filter", $options, "", "", "array"); echo $pdocrud->dbTable("employee")->render();
Abbiamo appena aggiunto due linee, con chiamate a addFilter
e setFilterSource
, e con ciò, l'elenco dei dipendenti è simile al seguente:
Non è bello? Con solo due righe di codice, hai aggiunto il tuo filtro personalizzato!
Caricamenti di immagini
Questa è una funzionalità indispensabile se desideri impostare il caricamento di file nei tuoi moduli. Con una sola riga di codice, puoi convertire un campo normale in un campo di caricamento file, come mostrato nel frammento di codice seguente.
Presumo che tu abbia un profile_image
campo nella tabella dei dipendenti e che sei pronto per convertirlo in un campo di caricamento file!
<?php require_once "script/pdocrud.php"; $pdocrud = new PDOCrud(); $pdocrud->fieldTypes("profile_image", "image"); echo $pdocrud->dbTable("employee")->render();
Questo è tutto! Gli utenti potranno ora caricare un'immagine in profile_image
campo.
CAPTCHA
Al giorno d'oggi, se vuoi salvare il tuo sito dallo spam, la verifica CAPTCHA è una caratteristica essenziale. Lo strumento PDO CRUD offre già un paio di opzioni tra cui scegliere.
Fornisce due opzioni:CAPTCHA e reCAPTCHA. Se selezioni l'opzione CAPTCHA, presenta un puzzle matematico che l'utente deve risolvere. D'altra parte, se selezioni l'opzione reCAPTCHA, presenta un famosoNon sono un robot puzzle!
Se vuoi aggiungere un semplice puzzle CAPTCHA, devi aggiungere la seguente riga prima di eseguire il rendering del CRUD.
$pdocrud->formAddCaptcha("captcha");
Se invece preferisci reCAPTCHA, puoi ottenere lo stesso risultato utilizzando il seguente snippet.
$pdocrud->recaptcha("your-site-key","site-secret");
Devi solo sostituire la your-site-key
e site-secret
argomenti con credenziali valide da Google.
Finora abbiamo discusso delle opzioni che migliorano la funzionalità della tua applicazione. Successivamente, vedremo come potresti alterare la pelle e quindi l'aspetto della tua applicazione.
Skin
Se non ti piace la skin predefinita, hai un paio di opzioni tra cui scegliere. Lo strumento PDO CRUD fornisce skin scure, chiare, verdi e avanzate come altre opzioni tra cui scegliere.
Ad esempio, il seguente elenco si basa sul tema verde.
Sembra carino, vero?
Pure Bootstrap
Sebbene la skin predefinita supporti già i layout reattivi, lo strumento PDO CRUD supporta anche l'integrazione della libreria Bootstrap!
Devi utilizzare il seguente snippet se desideri creare il tuo layout utilizzando la libreria Bootstrap.
<?php require_once "script/pdocrud.php"; $pdocrud = new PDOCrud(false, "pure", "pure"); echo $pdocrud->dbTable("department")->render();
Ed ecco come appare:
4 migliori interfacce PHP CRUD predefinite da CodeCanyon
CodeCanyon ospita dozzine di interfacce PHP CRUD facili e ben recensite. Se non vuoi sfogliare tutti i builder PHP CRUD sul sito, dai un'occhiata a queste cinque opzioni:
1. Generatore PHP CRUD
Con più di 20 temi Bootstrap e fantastiche funzionalità avanzate, questa interfaccia predefinita ha un bell'aspetto e funziona bene. Fa un ottimo lavoro nell'esecuzione di analisi sui tuoi dati. PHP CRUD Generator include anche strumenti che ti consentono di creare il tuo pannello di amministrazione ideale.
2. Applicazione multiuso Laravel
Hai bisogno di un'applicazione CRUD HTML5 con tutti i campanelli e i fischietti? Allora Laravel è una buona scelta per te. Questa semplice applicazione PHP CRUD è piena di funzionalità come:
- Modello front-end e back-end
- Invia email a utenti e gruppi
- Funzione password dimenticata
- indirizzi IP bloccati e consentiti
3. Admin Lite:pannello di amministrazione PHP e gestione utenti
Se il tuo prossimo progetto viene realizzato con CodeIgniter, ti servirà Admin Lite. Questa applicazione CRUD HTML5 ti aiuta a rimanere aggiornato sul tuo sviluppo web con moduli pronti per l'uso. Admin Lite viene fornito con un dashboard amministratore e utente e supporta più lingue. Puoi convertire il tuo pannello esistente in questo in modo da poter riprendere da dove eri rimasto.
4. Cicool:pagina, modulo, API REST e generatore CRUD
Completiamo questa lista con Cicool. È un semplice generatore CRUD PHP con molte funzionalità. Questo costruttore PHP CRUD di WordPress può essere utilizzato anche per creare pagine, moduli e API REST. L'utilizzo di Cicool ti consente di utilizzare componenti e input pronti per creare ciò di cui hai bisogno. Grazie ai suoi continui aggiornamenti, saprai che Cicool resta supportato.
Scopri di più sul mondo del codice con Envato Tuts+
Non c'è dubbio che la programmazione sia un argomento profondo. C'è molto da imparare ed è facile perdersi. Se vuoi acquisire competenze di programmazione molto utili con alcune indicazioni, dai un'occhiata a Envato Tuts+. I nostri tutorial, guide e corsi sul codice ti offrono le istruzioni di cui hai bisogno durante l'apprendimento. Puoi verificarne alcuni di seguito:
- GRATUITO Fondamenti PHPPPHPJeremy McPeak
- PHPPHP Interi, float e stringhe numeriche Monty Shokeen
- PHPCome caricare un file in PHP (con un esempio)Sajal Soni
- WordPressCome utilizzare la cache del browser in WordPressSajal Soni
E assicurati di visitare il nostro canale YouTube! È pieno di tutorial video e corsi tenuti dai nostri istruttori esperti.
Come diventare uno sviluppatore web