logo

Introduzione a PHP DOP

PHP è un linguaggio di scripting open source di uso generale, ampiamente utilizzato per creare pagine Web dinamiche e interattive. PHP può accedere a una vasta gamma di sistemi di gestione di database relazionali come MYSQL, SQLite , E PostgreSQL . IL PHP5.1 versione offriva una nuova libreria di astrazione della connessione al database, che è Oggetti dati PHP (DOP).

Cos'è la DOP?

DOP si riferisce Oggetto dati PHP , che è un'estensione PHP che definisce un'interfaccia leggera e coerente per l'accesso a un database in PHP. Si tratta di un insieme di estensioni PHP che forniscono una classe PDO centrale e un driver specifico per il database. Ciascun driver di database può esporre funzionalità specifiche del database come una normale funzione di estensione che implementa l'interfaccia PDO.

Nota: non possiamo eseguire alcun tipo di funzione del database utilizzando l'estensione PDO stessa. Per accedere a un server di database, dobbiamo utilizzare un driver PDO specifico del database.

PDO si concentra principalmente sull'astrazione dell'accesso ai dati piuttosto che sull'astrazione del database. Fornisce livello di astrazione dell'accesso ai dati , il che significa che, indipendentemente dal database che stiamo utilizzando, dobbiamo utilizzare le stesse funzioni fornite da quel database per eseguire query e recuperare dati. PDO non fornisce l'astrazione dei dati, poiché non riscrive l'SQL né emula le funzionalità mancanti.

Vantaggio della DOP

PDO offre vari modi per lavorare con gli oggetti e recupera istruzioni preparate che rendono il lavoro molto più semplice. È uno strumento di accesso al database in PHP attraverso il quale consentiamo un accesso uniforme a diversi database.

PDO consente il passaggio relativamente fluido tra diversi database e piattaforme, cosa che può essere eseguita facilmente modificando la stringa di connessione. Non supporta sintassi specifiche del database.

mediocre

Ci sono alcuni vantaggi della DOP come segue:

carattere in stringa
    Supporto della banca dati
    L'estensione PDO può accedere a qualsiasi database scritto per il driver PDO. Sono disponibili diversi driver PDO da utilizzare per FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , E PostgreSQL database, tra molti altri.
    I driver non sono disponibili automaticamente in tutti i sistemi, quindi dobbiamo trovare i driver disponibili e aggiungerne altri quando ne abbiamo bisogno.Connessione al database
    Sono disponibili diverse sintassi per stabilire la connessione al database. Queste sintassi dipendono da database specifici. Durante l'utilizzo di PDO, le operazioni devono essere racchiuse in blocchi try/catch e utilizzare la tecnica delle eccezioni.
    Di solito, è necessario creare solo una singola connessione e queste connessioni vengono chiuse programmando il database in modo che venga impostato come nullo.Gestione degli errori
    PDO consente di utilizzare eccezioni per la gestione degli errori. Per produrre un'eccezione, è possibile forzare il PDO in un attributo della modalità errore pertinente.
    Esistono tre modalità di errore, ovvero Silenzioso (predefinito), Avvertimento , E Eccezione . Avvertimento ed Eccezione sono più utili nella programmazione DRY.
      Silenzioso- È una modalità di errore predefinita.Avvertimento- È utile per il debug.Eccezione- Questa modalità consente una gestione corretta degli errori nascondendo i dati che una persona potrebbe utilizzare per sfruttare il tuo sistema.
    Inserisci e aggiorna
    PDO riduce l'operazione di inserimento e aggiornamento del database comunemente utilizzata in un processo in due fasi, ad es.
    Prepara >> [Bind] >> Esegui.
    Attraverso questo metodo, possiamo sfruttare appieno le dichiarazioni preparate di PDO, che proteggono da attacchi dannosi tramite SQL injection.
    Le istruzioni preparate sono istruzioni SQL precompilate che possono essere eseguite più volte inviando questi dati al server. Questi dati, utilizzati all'interno del segnaposto, sono automaticamente protetti dall'attacco SQL injection.

Vantaggi dell'utilizzo della DOP

PDO è il driver del database nativo. Ci sono alcuni vantaggi derivanti dall'utilizzo di PDO che sono riportati di seguito:

    Usabilità- Contiene molte funzioni di supporto per eseguire operazioni di routine automatiche.Riutilizzabilità- Offre l'API unificata per accedere a più database.Sicurezza- Utilizza una dichiarazione preparata che protegge dall'iniezione SQL. Un'istruzione preparata è un'istruzione SQL precompilata che separa l'istruzione dell'istruzione SQL dai dati.

Classi DOP

Esistono tre classi PDO, riportate di seguito:

    DOP- Rappresenta una connessione tra PHP e il database.Dichiarazione PDO- Rappresenta la dichiarazione preparata e dopo l'esecuzione della dichiarazione, imposta un risultato associato.DOPException- Rappresenta gli errori sollevati dal PDO.

Database supportati da PDO

  1. MySQL
  2. PostgreSQL
  3. Oracolo
  4. Uccello di fuoco
  5. Microsoft SQL Server
  6. Sybase
  7. Informix
  8. IBM
  9. TDS gratuito
  10. SQLite
  11. Cubride
  12. 4D

Confronto tra PDO e MySQLi

Per accedere al database utilizzando PHP, abbiamo principalmente due opzioni: MySQLi E DOP (Oggetto dati PHP). MySQLi è nativo per PHP e fornisce prestazioni più veloci, mentre la maggior parte degli sviluppatori esperti preferisce lavorare con PDO poiché supporta un'ampia varietà di driver di database. Esistono alcune differenze tra PDO e MySQLi elencate di seguito in base alle loro caratteristiche.

Caratteristiche DOP MySQLi
Supporto DB 12 conducenti diversi Solo MySQL
Connessione Facile Facile
API APRIRE OOP + Procedura
Prestazione Veloce Veloce
Parametro denominato NO
Mappatura degli oggetti
Procedura memorizzata
Dichiarazioni preparate lato client NO
Sicurezza Più sicuro di MySQLi. Sicuro ma non più della DOP.

Quale dovrebbe essere preferito tra PDO o MySQLi?

Sia PDO che MySQLi hanno i loro vantaggi:

  • Come abbiamo visto in precedenza, PDO funziona su 12 diversi sistemi di database, mentre MySQL può funzionare solo con il database MySQL. Quindi, se vogliamo trasferire il nostro progetto su un altro database, PDO lo rende semplice. In MySQLi, dobbiamo riscrivere l'intero codice.
  • PDO e MySQLi sono entrambi orientati agli oggetti, ma MySQLi offre anche API procedurali. Entrambi supportano le dichiarazioni preparate. Le dichiarazioni preparate sono importanti per la sicurezza delle applicazioni Web, poiché proteggono dall'iniezione SQL.

Requisiti

Non sono necessarie librerie esterne per creare questa estensione.

elenca Java

Processo di installazione

Passo 1: Scarica l'ultimo server XAMPP da qui https://www.apachefriends.org/download.html per diverse piattaforme come Windows, Linux e MacOS.

Phppdo

Nota: qui discuteremo il processo di installazione solo per il sistema operativo Windows.

Passo 2: Installa il server XAMPP sul tuo sistema seguendo questi passaggi.

Phppdo

Passaggio 3: Seleziona i componenti che desideri installare e clicca sul pulsante Avanti.

Phppdo

Passaggio 4: Crea la nuova cartella con il nome xampp nella posizione in cui desideri installare XAMPP.

Phppdo

Passaggio 5: Fare clic su Avanti qui e andare avanti. L'installazione del server XAMPP inizierà da qui.

Phppdo

Passaggio 6: XAMPP è installato correttamente. Fare clic sul pulsante Fine.

Phppdo

Passaggio 7: Seleziona la Lingua preferita.

Phppdo

Passaggio 8: Esegui il server Apache e MySQL da qui (come da screenshot fornito).

Phppdo

Passaggio 9: Ora apri php.ini da C:/xampp/php/php.ini (dove hai installato XAMPP) e decommenta l'estensione 'php_pdo_mysql.dll' E 'php_pdo.dll' (se stai lavorando con il database MySQL), o 'php_pdo_oci.dll' (se stai lavorando con il database Oracle). Ora inizia a lavorare con il database. Nella versione superiore di PHP 5.1 è già impostato.

come eseguire uno script su Linux

Lavorare con DOP

Per prima cosa dobbiamo creare un database, quindi crea un database con il nome myDB da qui.

Phppdo

Connessione al database

Per interagire con il database è sempre necessaria una connessione al database. Pertanto, dobbiamo conoscere l'identificatore per accedere al database, ovvero la posizione del database, il nome del database, il nome utente e la password.

Ora crea il programma di connessione al database utilizzando PDO in qualsiasi editor di testo come notepad o notepad++ e salvalo con il nome coonection.php. Eseguilo sul server XAMPP utilizzando localhost/80.

file system di Linux

Esempio

 getMessage(); } ?> 

Produzione

Eseguilo sul server utilizzando il seguente URL localhost/Xampp/pdoesempio/connection.php/ o dove hai salvato il tuo programma.

Phppdo

Gestione dell'errore di connessione

Se si verifica un errore di connessione, verrà generato un oggetto PDOException. Possiamo intercettare l'eccezione se vogliamo gestire la condizione di errore, oppure possiamo anche lasciarla al gestore globale delle eccezioni che può essere impostato da set_exception_handler() funzione.

Esempio

In questo esempio, dbUser(user-id) è sbagliato, quindi genererà un'eccezione, come possiamo vedere nell'output.

 setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?> 
Phppdo

Chiusura della connessione al database

 getMessage(); } // this command close the connection. $dbConn = null; ?> 

Produzione

Phppdo