Php áttekintés

Ez a rész a PHP alkalmazások MySQL adatbázisokhoz való interakciójának eszközeinek leírására vonatkozik.

Az alkalmazásprogramozási felület vagy API határozza meg az osztályokból, módszerekből, funkciókból és változókból álló csoportokat, amelyeket felhívhat az alkalmazásból a beállított feladatok végrehajtásához. Ami az olyan PHP alkalmazásokat illeti, amelyeknek az adatbázissal kell együttműködniük, az API számára szükséges API-t általában a PHP kiterjesztések képviselik.

Az API-k eljárási vagy objektumorientált lehetnek. Ha eljárási API-kat használ, egyes műveletek végrehajtásához hívja fel a függvényeket, és objektumorientált esetben példányozza az osztályokat, majd felhívja a létrehozott objektumok módszereit. A második megközelítés általában előnyösebb, mivel sokkal modernabb és segít megszervezni a szervezett kódokat.

A MySQL API számos lehetőséget kínál a PHP alkalmazáshoz való adatcseréhez. Ez a dokumentum leírja ezeket a módszereket, és ajánlásokat ad arra vonatkozóan, hogyan válasszuk ki a legmegfelelőbb megoldást egy adott helyzetben.

Mi az a Connector?

A MySQL dokumentációban a terminál kifejezés a MySQL szerverhez való kapcsolódásért felelős szoftverrészre vonatkozik. A MySQL számos csatlakozót biztosít különféle programozási nyelvekhez, különösen a PHP-hez.

A PHP-alkalmazás és az adatbázis-kiszolgáló kölcsönhatásának biztosítása érdekében meg kell adnia a szerverhez csatlakozó PHP-kódot, lekérdezéseket kell végrehajtania az adatbázisba és hasonlók. A kiszolgálószoftvertől olyan API-t kell megadnia, amelyet a PHP-alkalmazás használhat, valamint az alkalmazás és a szerver közötti interakcióért felelős funkció. Az ilyen funkciókat megvalósító szoftvert általában egy csatlakozónak nevezik, mivel lehetővé teszi az alkalmazás számára, hogy csatlakozzon az adatbázis-kiszolgálóhoz. Bizonyos esetekben a csatlakozó további könyvtárakat igényelhet a saját igényeihez.

Mi az a vezető?

Az illesztőprogram olyan szoftver, amely felelős egy bizonyos típusú adatbázis-kiszolgálóhoz való interakcióért. A meghajtó külső könyvtárakat is elérhet, például a MySQL ügyfélkönyvtárat vagy a natív MySQL illesztőprogramot. Ezek a könyvtárak egy alacsony szintű interakciós protokollt valósítanak meg a MySQL szerverrel.

Példaként az absztrakciós réteget az adatbázis-adatobjektumok (Database Data Objects) adatbázisokkal működtetheti. amelyek az egyes adatbázisokhoz specifikus illesztőprogramok valamelyikét használhatják. A meghajtó lehet egy PDS MYSQL illesztőprogram, amely lehetővé teszi az OEM számára, hogy kölcsönhatásba lépjen a MySQL szerverrel.

Néha az emberek a csatlakozót és a járművezetői kifejezéseket szinonimákként használják, és ez zavaró lehet. A MySQL dokumentációban a "meghajtó" kifejezés egy olyan kódot jelent, amely a csatlakozó része, és felelős egy adott DBMS kommunikációjáért.

Mi a kiterjesztés?

A PHP dokumentációjában többször találkozhat a kiterjesztés kifejezéssel. A PHP kód olyan rendszermagból és opcionális bővítményekből áll, amelyek hozzáadják hozzá, ami növeli a kernel által elvégezhető feladatok körét. Kapcsolódó MySQL kiterjesztések, mint a mysqli és a mysql. a PHP kiterjesztés keretrendszerrel kommunikálhat a rendszermaggal.

Általában a bővítmények API-juk PHP programozójává teszik, így programozhatóan használhatják a bővítési képességeket. Azonban néhány bővítmény, amely a PHP kiterjesztés keretrendszerét használja, nem biztosít semmilyen interfészt a programozók számára.

Például a PDO illesztőprogramja, a MySQL nem biztosítja az API-t. A felület csak az absztrakt OEM-réteghez tartozik.

Az API és kiterjesztés kifejezések nem értelmezhetők szinonimaként, mivel a bővítmény nem biztosíthatja az API-t a programozónak.

Milyen eszközöket kínál a MySQL használatához a PHP API?

Az API háromféle eszközt kínál a MySQL adatbázis-kiszolgálóhoz való csatlakozáshoz:

PHP kiterjesztés MySQL

PHP kiterjesztés mysqli

Adat objektumok PHP (OEM)

Mindegyiküknek előnyei és hátrányai vannak. A felülvizsgálat célja, hogy röviden ismertesse az egyes API-k legfontosabb jellemzőit.

Mi a PHP MySQL kiterjesztés?

Ez az eredeti kiterjesztés lehetővé teszi olyan PHP alkalmazások fejlesztését, amelyek kölcsönhatásba léphetnek egy MySQL adatbázis segítségével. A mysql kiterjesztés eljárási felületet biztosít, és a MySQL 4.1.3-as vagy korábbi verziói számára készült. Használható a DBMS újabb verzióihoz is, de ebben az esetben a 4.1.3-as verzió után megjelenő szerver számos olyan szolgáltatása nem lesz elérhető a programozó számára.

Ha MySQL 4.1.3 vagy újabb verzióval dolgozik, erősen ajánlott a mysqli kiterjesztés használata.

A mysql kiterjesztésű forráskód a PHP ext / mysql kiterjesztések könyvtárában található.

A mysql kiterjesztéssel kapcsolatos további információk a MySQL (Original) forrásból származhatnak.

Mi a mysqli PHP kiterjesztés?

Mysqli kiterjesztés. vagy úgynevezett javított MySQL kiterjesztés, úgy lett kialakítva, hogy lehetővé tegye a programozók számára, hogy teljes mértékben kihasználják a MySQL szerver 4.1.3 és újabb verzióinak funkcionalitását. A mysqli kiterjesztés szerepel a PHP 5-ös és újabb változatban.

A mysqli számos előnnyel és fejlesztéssel rendelkezik a mysql-n keresztül. amelyek a következők:

Az előkészített lekérdezések támogatása

Javított hibakeresési képességek

Beépített szerver támogatás

Ha a MySQL 4.1.3-as vagy újabb verzióiban dolgozik, akkor ajánlatos ezt a bővítményt használni.

Az objektumorientált kiterjesztés mellett eljárási felületet biztosít.

A mysqli kiterjesztés a PHP kiterjesztés keretrendszerből épül fel, forráskódja az ext / mysqli könyvtárban található.

További információ a mysqli kiterjesztésről. olvassa el a MySQLi részt.

A PHP vagy az OEM-adatobjektumok a PHP-alkalmazások adatbáziscsatlakozójának absztrakcióját reprezentálják. Az OEM biztosítja az API-t az adatbázishoz való kapcsolódáshoz, függetlenül az adott DBMS-ből. Elméletileg az OEM használatakor megváltoztathatja az adatbázis-kiszolgálót, például a Firebird-ről a MySQL-re, és ez csak kisebb változásokat eredményezhet a PHP kódban.

Más hasonló absztrakciók közé tartozik a JDBC for Java alkalmazások és a DBI Perl.

Az OEM előnyeivel, például az API egyszerűségével és hordozhatóságával kapcsolatban, a fő hátránya van: az OEM nem támogatja a MySQL legújabb verzióiban elérhető adatbázis-kiszolgáló összes funkcióját. Például az OEM nem hozhat létre több lekérdezést, bár a MySQL támogatja őket.

Az OEM-t a PHP kiterjesztések keretén belül építették, forráskódja az ext / pdo könyvtárban található.

Az OEM-vel kapcsolatos további információkért lásd az OEM-szakaszt.

Mi az a MYSQL PDO-illesztőprogram?

A MYSQL PDO illesztőprogram önmagában nem API, legalábbis a programozó szempontjából. A PDS MYSQL meghajtó az OEM és a MySQL szerver között található. A programozó felhívja az OEM-API-funkciókat, és az OEM lefordítja a MYSQL PDO illesztőprogramot, hogy adatokat és parancsokat cseréljen a MySQL szerverrel.

Az OEM MYSQL meghajtó csak egy a sok PDO-illesztőprogram közül. A legtöbb DBMS esetében léteznek PDO-illesztőprogramok, például a Firebird vagy a PostgreSQL kiszolgáló illesztőprogramjai.

A MYSQL PDO illesztőprogram a PHP kiterjesztés keretrendszerből épül fel, forráskódja az ext / pdo_mysql könyvtárban található. Nem nyújt API-t a PHP programozónak.

Ezenkívül a MySQL (OEM) szakasz MYSQL PDO illesztőprogramjáról olvashat.

Mi a natív MySQL illesztőprogram a PHP-hez?

Interakció létrehozása a MySQL szerverrel, mysql és mysqli kiterjesztésekkel. valamint a MYOQL PDO illesztőprogramja olyan alacsony szintű könyvtárat használ, amelyen a szükséges protokollok megvalósulnak. A múltban csak egy ilyen könyvtár állt rendelkezésre: a MySQL Client Library, más néven libmysqlclient.

Azonban a felület, amely a libmysqlclient szolgáltatást biztosított. Nem optimalizálták a PHP alkalmazásokkal való interakciót, hiszen kezdetben a libmysqlclient a C alkalmazásokkal való együttműködésre lett kifejlesztve. Valamivel később fejlesztették ki a natív MySQL illesztőprogramot (MySQL Native Driver) mysqlnd-ot. amely a libmysqlclient alternatívája a PHP-nek.

Mindegyik kiterjesztés mysql vagy mysqli. valamint a MySQL PDO illesztőprogramot egyénileg konfigurálhatjuk, hogy a libmysqlclientrel együtt dolgozzanak. vagy mysqlnd. Mivel a mysqlnd kifejezetten a PHP rendszerekre készült, a libmysqlclient előtt a sebesség és a memória költségeinek előnye. Ezért előnyös a használata.

A natív MySQL illesztőprogram csak MySQL 4.1.3 vagy újabb verzióval használható.

A natív MYSQL illesztőprogram a PHP kiterjesztés keretrendszerből épül fel, forráskódja az ext / mysqlnd könyvtárban található. Nem nyújt API-t a PHP programozónak.

Az alábbi táblázat összehasonlítja a PHP MySQL-hez való csatlakozásának három fő módját:

Összehasonlítva a MySQL API opciókat PHP-ben

Kapcsolódó cikkek