logo

Bevezetés a PHP OEM-be

A PHP egy nyílt forráskódú, általános célú szkriptnyelv, amelyet széles körben használnak dinamikus és interaktív weboldalak létrehozására. A PHP számos relációs adatbázis-kezelő rendszerhez tud hozzáférni, mint pl MYSQL, SQLite , és PostgreSQL . A PHP 5.1 verzió egy új adatbázis-kapcsolat absztrakciós könyvtárat kínált, amely az PHP adatobjektumok (OEM).

Mi az az OEM?

OEM utal PHP adatobjektum , amely egy PHP-bővítmény, amely könnyű és konzisztens felületet határoz meg az adatbázisok PHP-ben való eléréséhez. Ez egy olyan PHP-bővítmény, amely alapvető PDO osztályt és adatbázis-specifikus illesztőprogramot biztosít. Minden adatbázis-illesztőprogram felfedheti az adatbázis-specifikus szolgáltatásokat a PDO interfészt megvalósító szokásos kiterjesztési funkcióként.

Megjegyzés: Semmiféle adatbázis-funkciót nem tudunk végrehajtani magának a PDO kiterjesztésnek a használatával. Az adatbázis-kiszolgáló eléréséhez adatbázis-specifikus PDO-illesztőprogramot kell használnunk.

Az OEM elsősorban az adathozzáférés absztrakciójára összpontosít, nem pedig az adatbázis-absztrakcióra. Ez biztosítja adathozzáférési absztrakciós réteg , ami azt jelenti, hogy függetlenül attól, hogy melyik adatbázist használjuk, ugyanazokat a funkciókat kell használnunk, amelyeket az adatbázis biztosít a lekérdezések kibocsátásához és az adatok lekéréséhez. A PDO nem biztosít adatabsztrakciót, mivel nem írja át az SQL-t, és nem emulálja a hiányzó szolgáltatásokat.

Az OEM előnye

A PDO különféle módokat biztosít az objektumokkal való munkavégzéshez, és lekéri az előkészített utasításokat, amelyek jelentősen megkönnyítik a munkát. Ez egy adatbázis-elérési eszköz a PHP-ben, amelyen keresztül egységes hozzáférést biztosítunk több adatbázishoz.

A PDO viszonylag zökkenőmentes váltást tesz lehetővé a különböző adatbázisok és platformok között, ami egyszerűen elvégezhető a kapcsolati karakterlánc megváltoztatásával. Nem támogatja az adatbázis-specifikus szintaxisokat.

Az OEM-nek van néhány előnye:

    Adatbázis támogatás
    A PDO kiterjesztés bármilyen adatbázishoz hozzáférhet, amely PDO illesztőprogramhoz íródott. Számos PDO illesztőprogram áll rendelkezésre, amelyekhez használható FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , és PostgreSQL adatbázisok, sok más mellett.
    Az illesztőprogramok nem minden rendszerben érhetők el automatikusan, ezért meg kell találnunk az elérhető illesztőprogramjainkat, és szükség esetén hozzáadnunk kell azokat.Adatbázis csatlakozás
    Különféle szintaxisok állnak rendelkezésre az adatbázis-kapcsolat létrehozásához. Ezek a szintaxisok meghatározott adatbázisoktól függenek. Az OEM használata során a műveleteket try/catch blokkokba kell csomagolni, és a kivételtechnikát kell használni.
    Általában csak egyetlen kapcsolatot kell létrehozni, és ezeket a kapcsolatokat úgy zárják le, hogy az adatbázist nullára programozzák.Hibakezelés
    Az OEM lehetővé teszi kivételek használatát a hibakezeléshez. Kivétel létrehozásához a PDO-t egy releváns hibamód attribútumra lehet kényszeríteni.
    Három hibamód létezik, pl. Csendes (alapértelmezett), Figyelem , és Kivétel . A Figyelmeztetés és a Kivétel hasznosabb a DRY programozásban.
      Csendes- Ez egy alapértelmezett hibamód.Figyelem- Hasznos a hibakereséshez.Kivétel- Ez a mód kecses hibakezelést tesz lehetővé, miközben elrejti azokat az adatokat, amelyeket egy személy a rendszer kihasználására használhat fel.
    Beszúrás és frissítés
    Az OEM az általánosan használt adatbázis-beszúrási és frissítési műveletet kétlépcsős folyamattá redukálja, azaz.
    Előkészítés >> [Bind] >> Végrehajtás.
    Ezzel a módszerrel teljes mértékben kihasználhatjuk a PDO előkészített utasításait, amelyek SQL-injekción keresztül védenek a rosszindulatú támadások ellen.
    Az előkészített utasítások előre lefordított SQL utasítások, amelyek többször is végrehajthatók, ha elküldik ezeket az adatokat a kiszolgálónak. Ezek az adatok, amelyek a helyőrzőn belül kerülnek felhasználásra, automatikusan védettek az SQL injekciós támadás ellen.

Az OEM használatának előnyei

A PDO a natív adatbázis-illesztőprogram. Az OEM használatának van néhány előnye, amelyeket alább ismertetünk:

    Használhatóság- Számos segédfunkciót tartalmaz az automatikus rutinműveletek működtetéséhez.Újrahasználhatóság- Egységes API-t kínál több adatbázis eléréséhez.Biztonság- Egy előkészített utasítást használ, amely megvédi az SQL injekciót. Az előkészített utasítás egy előre lefordított SQL utasítás, amely elválasztja az SQL utasítás utasítását az adatoktól.

OEM osztályok

Három OEM osztály létezik, amelyeket az alábbiakban adunk meg:

hó vs jég
    OEM- Kapcsolatot jelent a PHP és az adatbázis között.PDOSumentum- Az elkészített utasítást reprezentálja és az utasítás végrehajtása után beállít egy hozzá tartozó eredményt.PDOException- Az OEM által felvetett hibákat jelzi.

OEM által támogatott adatbázisok

  1. MySQL
  2. PostgreSQL
  3. Jóslat
  4. Tűzmadár
  5. MS SQL Server
  6. Sybase
  7. Informix
  8. IBM
  9. FreeTDS
  10. SQLite
  11. Cubrid
  12. 4D

Az OEM és a MySQLi összehasonlítása

Az adatbázis PHP használatával való eléréséhez alapvetően két lehetőségünk van: MySQLi és OEM (PHP adatobjektum). A MySQLi a PHP natív verziója, amely gyorsabb teljesítményt biztosít, míg a tapasztalt fejlesztők többsége inkább PDO-val dolgozik, mivel az adatbázis-illesztőprogramok széles választékát támogatja. Az alábbiakban felsorolt ​​OEM és MySQLi között van néhány különbség a jellemzőik alapján.

Jellemzők OEM MySQLi
DB támogatás 12 különböző driver Csak MySQL
Kapcsolat Könnyen Könnyen
API NYISD KI OOP + Eljárás
Teljesítmény Gyors Gyors
Paraméter néven Igen Nem
Objektum leképezés Igen Igen
Tárolt eljárás Igen Igen
Ügyféloldali elkészített nyilatkozatok Igen Nem
Biztonság Biztonságosabb, mint a MySQLi. Biztonságos, de legfeljebb OEM.

Melyiket érdemes előnyben részesíteni az OEM vagy a MySQLi között?

Mind az OEM, mind a MySQLi megvannak a maga előnyei:

char a stringhez
  • Ahogy korábban láttuk, a PDO 12 különböző adatbázisrendszeren működik, míg a MySQL csak a MySQL adatbázissal tud működni. Tehát, ha át akarjuk állítani a projektünket egy másik adatbázisba, az OEM egyszerűvé teszi. A MySQLiben a teljes kódot át kell írnunk.
  • A PDO és a MySQLi egyaránt objektum-orientált, de a MySQLi eljárási API-t is kínál. Mindkettő támogatja az előkészített nyilatkozatokat. Az elkészített nyilatkozatok fontosak a webalkalmazások biztonsága szempontjából, mivel megvédik az SQL-befecskendezést.

Követelmény

A bővítmény elkészítéséhez nincs szükség külső könyvtárakra.

Telepítési folyamat

1. lépés: Töltse le a legújabb XAMPP szervert innen https://www.apachefriends.org/download.html különböző platformokhoz, például Windows, Linux és MacOS.

Phppdo

Megjegyzés: Itt csak a Windows operációs rendszer telepítési folyamatát tárgyaljuk.

2. lépés: Telepítse az XAMPP szervert a rendszerére az alábbi lépések végrehajtásával.

Phppdo

3. lépés: Válassza ki a telepíteni kívánt összetevőket, majd kattintson a Tovább gombra.

Phppdo

4. lépés: Hozza létre az új mappát xampp néven azon a helyen, ahová telepíteni szeretné az XAMPP-t.

Phppdo

5. lépés: Kattintson ide a Tovább gombra, és lépjen tovább. Az XAMPP szerver telepítése innen indul.

Phppdo

6. lépés: Az XAMPP telepítése sikeres volt. Kattintson a Befejezés gombra.

Phppdo

7. lépés: Válassza ki a kívánt nyelvet.

Phppdo

8. lépés: Futtassa innen az Apache szervert és a MySQL-t (a megadott képernyőkép szerint).

Phppdo

9. lépés: Most nyissa meg a php.ini-t innen C:/xampp/php/php.ini (ahova telepítette az XAMPP-t), és törölje a kiterjesztés megjegyzését 'php_pdo_mysql.dll' és 'php_pdo.dll' (ha MySQL adatbázissal dolgozik), vagy 'php_pdo_oci.dll' (ha Oracle adatbázissal dolgozik). Most kezdjen el dolgozni az adatbázissal. A PHP 5.1 felső verziójában ez már be van állítva.

Munka OEM

Először is létre kell hoznunk egy adatbázist, tehát innen hozzunk létre egy adatbázist myDB néven.

Phppdo

Adatbázis kapcsolat

Az adatbázissal való interakcióhoz mindig adatbáziskapcsolat szükséges. Tehát tudnunk kell az adatbázis eléréséhez szükséges azonosítót, azaz az adatbázis helyét, az adatbázis nevét, felhasználónevét és jelszavát.

Most hozza létre az adatbázis-csatlakozási programot PDO használatával bármely szövegszerkesztőben, például jegyzettömbben vagy notepad++-ban, és mentse el coonection.php néven. Futtassa az XAMPP szerveren a localhost/80 használatával.

string hosszúságú java

Példa

 getMessage(); } ?> 

Kimenet

Futtassa a szerveren a következő URL használatával localhost/Xampp/pdoexample/connection.php/ vagy hova mentette a programot.

Phppdo

Kapcsolódási hiba kezelése

Kapcsolódási hiba esetén a rendszer egy PDOException objektumot dob ​​ki. Megkaphatjuk a kivételt, ha kezelni akarjuk a hibaállapotot, vagy meghagyhatjuk a globális kivételkezelőnek is, amelyet beállíthatunk set_exception_handler() funkció.

Példa

Ebben a példában a dbUser(user-id) hibás, ezért kivételt fog dobni, amint azt a kimenetben láthatjuk.

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

Az adatbázis-kapcsolat bezárása

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

Kimenet

Phppdo