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