sinopsis

Această secțiune este dedicată descrierii instrumentelor pentru interacțiunea aplicațiilor PHP cu bazele de date MySQL.

Interfața de programare a aplicațiilor sau API definește un set de clase, metode, funcții și variabile pe care le puteți apela din aplicația dvs. pentru a efectua sarcinile pe care le-ați setat. În ceea ce privește aplicațiile PHP care trebuie să interacționeze cu bazele de date, API-ul necesar acestui API este de obicei reprezentat de extensii PHP.







API-urile pot fi procedurale sau orientate pe obiect. Atunci când se utilizează un API procedural apela funcții pentru a efectua orice operațiune, iar în cazul orientate-obiect, vă instantia clasa apel și apoi metodele de obiectele create. A doua abordare este, de obicei, de preferat, deoarece contribuie la un cod mai modern și mai organizat de scris.

API-ul MySQL oferă mai multe moduri de conectare la o bază de date dintr-o aplicație PHP. Acest document descrie aceste metode și oferă recomandări privind alegerea soluției celei mai potrivite într-o anumită situație.

Ce este Connector?

În documentația MySQL, termenul conector se referă la partea din software-ul care este responsabil pentru conectarea la serverul MySQL. MySQL oferă o varietate de conectori pentru diferite limbi de programare, în special pentru PHP.

Pentru a asigura interacțiunea aplicației PHP cu serverul de bază de date, trebuie să scrieți cod PHP care se conectează la server, execută interogări în baza de date și altele asemenea. Din programul de server trebuie să furnizați un API pe care aplicația dvs. PHP o poate utiliza, precum și funcționalitatea responsabilă de interacțiunea aplicației dvs. cu serverul. Software-ul care implementează o astfel de funcționalitate este denumit de obicei un conector, deoarece permite aplicației dvs. să se conecteze la serverul de baze de date. În unele cazuri, conectorul poate necesita alte biblioteci pentru nevoile proprii.

Ce este un șofer?

Un driver este un software care este responsabil pentru interacțiunea cu un anumit tip de server de baze de date. Driverul poate accesa, de asemenea, biblioteci externe, cum ar fi biblioteca client MySQL sau driverul nativ MySQL. Aceste biblioteci implementează un protocol de nivel scăzut de interacțiune cu serverul MySQL.

De exemplu, puteți utiliza stratul de abstractizare pentru a lucra cu bazele de date Database Data Objects (PDO). care poate utiliza unul din mai multe drivere specifice bazelor de date specifice. Driver-ul poate fi un driver PDS MYSQL, care permite PDO-ului să interacționeze cu serverul MySQL.

Uneori, utilizatorii folosesc conectorii și driverul de termeni ca sinonime, iar acest lucru poate fi confuz. În documentația MySQL, termenul "driver" înseamnă o bucată de cod care face parte din conector și este responsabilă pentru comunicarea cu un anumit DBMS.

Ce este o extensie?

În documentația pentru PHP veți întâlni în mod repetat extensia termenului. Codul PHP ca atare constă dintr-un nucleu și extensii opționale care se adaugă la acesta, ceea ce mărește intervalul de sarcini pe care un kernel îl poate efectua. Legat de extensiile MySQL, cum ar fi mysqli și mysql. interacționați cu kernelul utilizând cadrul de extensii PHP.

De obicei, extensiile furnizează API-ul lor unui programator PHP, astfel încât să poată utiliza în mod programatic capabilitățile de extindere. Cu toate acestea, unele extensii care utilizează cadrul de extensii PHP nu oferă programatorilor interfețe.

De exemplu, șoferul PDO MySQL nu furnizează API-ul său. Acesta oferă o interfață numai la stratul abstract al PDO de mai sus.







Termenii API și extensia nu pot fi interpretați ca sinonime, deoarece extensia ar putea să nu furnizeze API programatorului.

Ce instrumente de lucru cu MySQL oferă PHP API?

API oferă o gamă de trei seturi de instrumente pentru conectarea la un server de baze de date MySQL:

Extensia PHP MySQL

Extensia PHP mysqli

Obiectele de date PHP (PDO)

Fiecare dintre ele are avantajele și dezavantajele sale. Scopul acestei revizuiri este de a descrie pe scurt caracteristicile cheie ale fiecărui API.

Ce este extensia PHP MySQL?

Această extensie originală vă permite să dezvoltați aplicații PHP care pot interacționa cu o bază de date MySQL. Extensia mysql oferă o interfață procedurală și este destinată utilizării cu MySQL versiunea 4.1.3 sau mai devreme. Poate fi folosit și cu versiuni mai recente ale DBMS, dar în acest caz, multe dintre caracteristicile serverului care apar după versiunea 4.1.3 nu vor fi disponibile programatorului.

Dacă lucrați cu MySQL 4.1.3 sau o versiune ulterioară, este recomandat să utilizați extensia mysqli.

Codul sursă de extensie mysql este localizat în directorul ext / mysql PHP.

Informații suplimentare despre extensia mysql pot fi obținute din resursele MySQL (Original).

Ce este extensia mysqli PHP?

Extensie Mysqli. sau cum este numit îmbunătățită (îmbunătățită) extensie MySQL a fost conceput pentru a permite programatorilor să profite pe deplin de versiuni de server funcționalitate MySQL 4.1.3 și mai mari. Extensia mysqli este inclusă în versiunea PHP 5 și mai sus.

mysqli are o serie de avantaje și îmbunătățiri față de mysql. care sunt după cum urmează:

Sprijin pentru interogări pregătite

Capacități îmbunătățite de depanare

Suport pentru server încorporat

Când lucrați cu MySQL versiunile 4.1.3 și de mai sus, este foarte recomandat să utilizați această extensie.

Împreună cu extensia orientată pe obiect oferă o interfață procedurală.

Extensia mysqli este construită folosind cadrul extensiilor PHP, codul sursă fiind localizat în directorul ext / mysqli.

Pentru mai multe informații despre extensia mysqli. consultați secțiunea MySQLi.

Obiectele de date PHP, sau PDO, reprezintă abstractizarea conectorului bazei de date pentru aplicațiile PHP. PDO oferă un API pentru a interacționa cu baza de date, independent de sistemul DBMS special. Teoretic, atunci când folosiți PDO, puteți schimba serverul bazei de date, de exemplu, de la Firebird la MySQL, ceea ce va duce la modificări minore în codul PHP.

Alte abstracții similare includ JDBC pentru aplicații Java și DBI pentru Perl.

Împreună cu beneficiile DOP, cum ar fi simplitatea si portabilitatea API, este principalul defect său: DOP nu acceptă neapărat toate caracteristicile serverului de baze de date, disponibile în cele mai recente versiuni ale MySQL. De exemplu, PDO nu poate crea interogări multiple, deși MySQL le suportă.

PDO este construit folosind cadrul de extensii PHP, codul său sursă fiind localizat în directorul ext / pdo.

Pentru mai multe informații despre DOP, a se vedea secțiunea DOP.

Ce este driverul MYSQL DOP?

Soferul MYSQL PDO nu este un API per se, cel puțin din punctul de vedere al programatorului. Driverul PDS MYSQL este situat între DOP și serverul MySQL. Programatorul numește funcțiile API pentru PDO, iar PDO utilizează, la rândul său, driverul MYSQL PDO pentru a schimba date și comenzi cu serverul MySQL.

Driverul PDO MYSQL este doar unul dintre numeroșii operatori PDO. Pentru cele mai multe DBMS-uri există drivere PDO, cum ar fi driverele pentru serverele Firebird sau PostgreSQL.

Driverul MYSQL PDO este construit folosind cadrul de extensii PHP, codul său sursă fiind localizat în directorul ext / pdo_mysql. Nu oferă un programator API programatorului PHP.

În plus, puteți citi despre driverul PDO MYSQL din secțiunea MySQL (PDO).

Ce este un driver nativ MySQL pentru PHP?

Pentru a oferi interacțiune cu serverul MySQL, extensiile mysql și mysqli. precum și șoferul MOOQL ​​PDO, utilizează o bibliotecă low-level în care sunt implementate protocoalele necesare. În trecut, a fost disponibilă o singură bibliotecă: MySQL Client Library, cunoscută și sub denumirea de libmysqlclient.

Cu toate acestea, interfața care a furnizat libmysqlclient. Nu a fost optimizat pentru interacțiunea cu aplicațiile PHP, deoarece inițial libmysqlclient a fost dezvoltat pentru a lucra cu aplicațiile C. Oarecum mai târziu, driverul nativ MySQL (MySQL Native Driver) mysqlnd a fost dezvoltat. care este o alternativă la libmysqlclient pentru PHP.

Fiecare dintre extensii sunt mysql sau mysqli. precum și driverul MySQL PDO pot fi configurate individual pentru a lucra cu libmysqlclient. sau cu mysqlnd. Deoarece mysqlnd a fost creat special pentru sistemele PHP, acesta are avantajul de a costa viteza și memoria înaintea libmysqlclient. Prin urmare, utilizarea sa este preferabilă.

Driverul nativ MySQL poate fi folosit numai cu MySQL versiunea 4.1.3 și versiuni ulterioare.

Driverul nativ MYSQL este construit folosind cadrul de extensii PHP, codul său sursă fiind localizat în directorul ext / mysqlnd. Nu oferă un programator API programatorului PHP.

Tabelul de mai jos compară funcționalitatea celor trei metode principale de conectare la MySQL din PHP:

Compararea opțiunilor MySQL API în PHP







Articole similare

Trimiteți-le prietenilor: