Prezentare generală Php

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 utilizați API-uri procedurale, apelați funcții pentru a efectua unele operații, iar în cazul obiectelor orientate instanțiați clasele și apoi apelați metodele obiectelor create. A doua abordare este de obicei preferabilă, deoarece este mai modernă și ajută la scrierea unui cod mai organizat.

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 baze 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.

Un exemplu este stratul de abstractizare pentru lucrul cu baza de date 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 utilizează conectorii termenului și driverul, 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ă într-un nucleu și extensiile 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.

Ce este extensia mysqli PHP?

Extensie Mysqli. sau așa cum se mai numește extensia MySQL îmbunătățită, a fost proiectată pentru a permite programatorilor să profite din plin de funcționalitatea serverului MySQL 4.1.3 și versiunile superioare. 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 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 doar la modificări minore în codul PHP.

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

Împreună cu avantajele DOP, cum ar fi simplitatea și portabilitatea API, există dezavantajul principal: DOP nu suportă 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?

DOP MYSQL DOP 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 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 scriptingul 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: