logo

Johdatus PHP:hen SAN

PHP on avoimen lähdekoodin yleiskäyttöinen komentosarjakieli, jota käytetään laajalti dynaamisten ja interaktiivisten web-sivujen luomiseen. PHP voi käyttää laajaa valikoimaa relaatiotietokannan hallintajärjestelmiä, kuten MYSQL, SQLite , ja PostgreSQL . The PHP 5.1 versio tarjosi uuden tietokantayhteyden abstraktiokirjaston, joka on PHP-tietoobjektit (SAN).

paikallinen päivämäärä

Mikä on SAN?

SAN viittaa PHP-tietoobjekti , joka on PHP-laajennus, joka määrittelee kevyen ja johdonmukaisen käyttöliittymän PHP-tietokannan käyttämiseen. Se on joukko PHP-laajennuksia, jotka tarjoavat ydin PDO-luokan ja tietokantakohtaisen ohjaimen. Jokainen tietokantaohjain voi paljastaa tietokantakohtaisia ​​ominaisuuksia tavallisena laajennusfunktiona, joka toteuttaa PDO-rajapinnan.

Huomautus: Emme voi suorittaa minkäänlaisia ​​tietokantatoimintoja käyttämällä itse PDO-laajennusta. Tietokantapalvelimen käyttämiseksi meidän on käytettävä tietokantakohtaista PDO-ohjainta.

SAN keskittyy pääasiassa tiedonsaannin poistamiseen tietokannan abstraktion sijaan. Se tarjoaa tiedonsaannin abstraktiokerros , mikä tarkoittaa, että riippumatta siitä, mitä tietokantaa käytämme, meidän on käytettävä tietokannan tarjoamia samoja toimintoja kyselyjen tekemiseen ja tietojen hakemiseen. PDO ei tarjoa tietojen abstraktiota, koska se ei kirjoita SQL:ää uudelleen tai emuloi puuttuvia ominaisuuksia.

SAN:n etu

PDO tarjoaa erilaisia ​​tapoja työskennellä objektien kanssa ja hakee valmiita lausekkeita, jotka helpottavat työtä huomattavasti. Se on PHP:n tietokantakäyttötyökalu, jonka avulla mahdollistamme yhtenäisen pääsyn useisiin tietokantoihin.

PDO mahdollistaa suhteellisen saumattoman vaihdon eri tietokantojen ja alustojen välillä, mikä voidaan tehdä helposti vaihtamalla yhteysmerkkijonoa. Se ei tue tietokantakohtaisia ​​syntakseja.

SAN:lla on joitain seuraavia etuja:

    Tietokannan tuki
    PDO-laajennus voi käyttää mitä tahansa tietokantaa, joka on kirjoitettu PDO-ohjaimelle. Saatavilla on useita SAN-ohjaimia, joita käytetään FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , ja PostgreSQL tietokannat monien muiden joukossa.
    Ohjaimet eivät ole saatavilla kaikissa järjestelmissä automaattisesti, joten meidän on löydettävä käytettävissä olevat ajurit ja lisättävä niitä tarvittaessa.Tietokantayhteys
    Tietokantayhteyden muodostamiseen on käytettävissä erilaisia ​​syntakseja. Nämä syntaksit riippuvat tietyistä tietokannoista. PDO:ta käytettäessä toiminnot tulee kääriä try/catch-lohkoihin ja hyödyntää poikkeustekniikkaa.
    Yleensä tarvitaan vain yksi yhteys, ja nämä yhteydet suljetaan ohjelmoimalla tietokanta nollaksi.Virheiden käsittely
    PDO sallii poikkeuksien käytön virheiden käsittelyssä. Poikkeuksen tuottamiseksi PDO voidaan pakottaa asiaankuuluvaan virhetilan määritteeseen.
    Virhetilaa on kolme, ts. Hiljainen (oletus), Varoitus , ja Poikkeus . Varoitus ja poikkeus ovat hyödyllisempiä DRY-ohjelmoinnissa.
      Hiljainen- Se on oletusvirhetila.Varoitus- Se on hyödyllinen virheenkorjauksessa.Poikkeus- Tämä tila mahdollistaa sulavan virheiden käsittelyn samalla kun piilotetaan tiedot, joita henkilö saattaa käyttää järjestelmän hyödyntämiseen.
    Lisää ja päivitä
    PDO vähentää yleisesti käytetyn tietokannan lisäys- ja päivitystoiminnon kaksivaiheiseksi prosessiksi, ts.
    Valmistele >> [Sido] >> Suorita.
    Tämän menetelmän avulla voimme hyödyntää täysimääräisesti PDO:n valmisteltuja lausekkeita, jotka suojaavat haitallisilta hyökkäyksiltä SQL-injektion kautta.
    Valmistetut lauseet ovat valmiiksi käännettyjä SQL-käskyjä, jotka voidaan suorittaa useita kertoja lähettämällä nämä tiedot palvelimelle. Nämä tiedot, joita käytetään paikkamerkin sisällä, suojataan automaattisesti SQL-injektiohyökkäykseltä.

SAN:n käytön edut

PDO on alkuperäinen tietokantaohjain. SAN:n käytöstä on joitain etuja, jotka on esitetty alla:

    Käytettävyys- Se sisältää monia aputoimintoja automaattisten rutiinitoimintojen suorittamiseen.Uudelleenkäytettävyys- Se tarjoaa yhtenäisen API:n useiden tietokantojen käyttämiseen.Turvallisuus- Se käyttää valmisteltua lausuntoa, joka suojaa SQL-injektiolta. Valmisteltu käsky on esikäännetty SQL-käsky, joka erottaa SQL-käskyn käskyn tiedoista.

SAN-luokat

On olemassa kolme SAN-luokkaa, jotka on esitetty alla:

    SAN- Se edustaa yhteyttä PHP:n ja tietokannan välillä.PDOSatement- Se edustaa valmisteltua lausuntoa ja asettaa lausunnon suorittamisen jälkeen siihen liittyvän tuloksen.PDOException- Se edustaa SAN:n aiheuttamia virheitä.

SAN:n tukemat tietokannat

  1. MySQL
  2. PostgreSQL
  3. Oraakkeli
  4. Tulilintu
  5. MS SQL Server
  6. Sybase
  7. Informix
  8. IBM
  9. FreeTDS
  10. SQLite
  11. Cubrid
  12. 4D

SAN:n ja MySQLin vertailu

Päästäksemme tietokantaan PHP:n avulla, meillä on pääasiassa kaksi vaihtoehtoa - MySQLi ja SAN (PHP-tietoobjekti). MySQLi on natiivi PHP:lle, joka tarjoaa nopeamman suorituskyvyn, kun taas useimmat kokeneet kehittäjät haluavat työskennellä PDO:n kanssa, koska se tukee monenlaisia ​​tietokantaohjaimia. Alla lueteltujen SAN:n ja MySQLin välillä on joitain eroja niiden ominaisuuksien perusteella.

ominaisuudet SAN MySQLi
DB tuki 12 erilaista kuljettajaa Vain MySQL
Yhteys Helppo Helppo
API AVATA OOP + menettely
Esitys Nopeasti Nopeasti
Nimetty parametri Joo Ei
Objektikartoitus Joo Joo
Tallennettu menettely Joo Joo
Asiakaspuolen laatimat lausunnot Joo Ei
Turvallisuus Turvallisempi kuin MySQLi. Turvallinen, mutta ei enempää kuin SAN.

Kumpaa pitäisi suosia SAN:n tai MySQLin välillä?

Sekä SAN:lla että MySQLillä on omat etunsa:

  • Kuten olemme aiemmin nähneet, PDO toimii 12 eri tietokantajärjestelmässä, kun taas MySQL voi toimia vain MySQL-tietokannan kanssa. Joten jos haluamme vaihtaa projektimme toiseen tietokantaan, PDO tekee siitä helppoa. MySQLissä meidän on kirjoitettava koko koodi uudelleen.
  • PDO ja MySQLi ovat molemmat oliokeskeisiä, mutta MySQLi tarjoaa myös proseduurin API:n. Molemmat tukevat Valmistettuja lausuntoja. Valmistetut lausunnot ovat tärkeitä verkkosovellusten turvallisuuden kannalta, koska ne suojaavat SQL-injektiolta.

Vaatimus

Tämän laajennuksen rakentamiseen ei tarvita ulkoisia kirjastoja.

Asennusprosessi

Vaihe 1: Lataa uusin XAMPP-palvelin täältä https://www.apachefriends.org/download.html eri alustoille, kuten Windows, Linux ja MacOS.

Phppdo

Huomautus: Tässä keskustelemme vain Windows-käyttöjärjestelmän asennusprosessista.

Vaihe 2: Asenna XAMPP-palvelin järjestelmääsi noudattamalla näitä ohjeita.

merkkijono
Phppdo

Vaihe 3: Valitse komponentit, jotka haluat asentaa ja napsauta Seuraava-painiketta.

Phppdo

Vaihe 4: Luo uusi kansio nimellä xampp paikkaan, johon haluat asentaa XAMPP:n.

Phppdo

Vaihe 5: Napsauta Seuraava tästä ja siirry eteenpäin. XAMPP-palvelimen asennus alkaa tästä.

java hei maailma
Phppdo

Vaihe 6: XAMPP on asennettu onnistuneesti. Napsauta Valmis-painiketta.

Phppdo

Vaihe 7: Valitse haluamasi kieli.

Phppdo

Vaihe 8: Suorita Apache-palvelin ja MySQL täältä (annetun kuvakaappauksen mukaan).

Phppdo

Vaihe 9: Avaa nyt php.ini osoitteesta C:/xampp/php/php.ini (mihin olet asentanut XAMPP:n) ja poista laajennuksen kommentti 'php_pdo_mysql.dll' ja 'php_pdo.dll' (jos työskentelet MySQL-tietokannan kanssa), tai 'php_pdo_oci.dll' (jos työskentelet Oracle-tietokannan kanssa). Aloita nyt työskentely tietokannan kanssa. PHP 5.1:n uudemmassa versiossa se on jo asetettu.

Työskentely SAN:n kanssa

Ensin meidän on luotava tietokanta, joten luo tietokanta nimellä myDB täältä.

Phppdo

Tietokantayhteys

Tietokantayhteys tarvitaan aina vuorovaikutukseen tietokannan kanssa. Joten meidän on tiedettävä tunniste päästäksemme tietokantaan, eli tietokannan sijainti, tietokannan nimi, käyttäjätunnus ja salasana.

Luo nyt tietokantayhteysohjelma käyttämällä PDO:ta missä tahansa tekstieditorissa, kuten notepad tai notepad++, ja tallenna se coonection.php-nimellä. Suorita se XAMPP-palvelimella käyttämällä localhost/80:tä.

Esimerkki

 getMessage(); } ?> 

Lähtö

Suorita se palvelimella käyttämällä seuraavaa URL-osoitetta localhost/Xampp/pdoexample/connection.php/ tai mihin olet tallentanut ohjelmasi.

Phppdo

Yhteysvirheen käsittely

PDOException-objekti heitetään, jos tapahtuu yhteysvirhe. Saatamme havaita poikkeuksen, jos haluamme käsitellä virhetilan, tai voimme myös jättää sen globaalin poikkeuskäsittelijän tehtäväksi, jonka voi määrittää set_exception_handler() toiminto.

jpa keväällä

Esimerkki

Tässä esimerkissä dbUser(user-id) on väärä, joten se heittää poikkeuksen, kuten voimme nähdä tulosteessa.

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

Tietokantayhteyden sulkeminen

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

Lähtö

Phppdo