Conexiune PHP cu mongoDB

Cuprins
Baze de date NoSQL au luat o mare relevanță în ultimii ani. Designul lor scalabil și posibilitatea de a gestiona structurile într-un mod fără legătură le fac o alternativă pentru noile forme de dezvoltare care au loc în lume.
De aceea trebuie să avem în vedere faptul că este o realitate că în curând va trebui să știm cum să le gestionăm așa cum știm acum să le gestionăm. Baze de date limbile tradiționale, pentru aceasta va trebui să ne conectăm la ele prin limbi tradiționale, cum ar fi cele cunoscute pe scară largă PHP.
Unul dintre motoarele Baze de date NoSQL cel mai popular este mongoDB, datorită instalării sale ușoare și a unei comunități în curs de dezvoltare care ne permite să învățăm multe în scurt timp cu căutări simple pe internet.
Instalare MongoDBPrimul lucru pe care trebuie să-l facem este să instalăm serverul mongoDB, cu aceasta vom obține motorul de Bază de date pentru a putea gestiona noile noastre baze NoSQL. Deoarece este un motor nou, acesta a fost conceput astfel încât să poată fi instalat pe diferite platforme. Vom explica cum să o facem în două dintre cele mai importante sisteme de operare de astăzi Windows Da Linux în versiunea dvs. Ubuntu.
Pentru instalare mongoDB în Ubuntu Trebuie să urmăm câțiva pași simpli pentru a activa pachetul, după ce acești pași sunt finalizați, putem folosi apt-get install în mod normal, să vedem.
1- Mai întâi trebuie să importăm cheia publică, pentru aceasta vom deschide o nouă consolă sau terminal și vom scrie următoarea comandă:
sudo apt-key adv --keyserver hkp: / /keyserver.ubuntu.com:80 --recv 7F0CEB10

2- Apoi trebuie să adăugăm un fișier listă la mongoDB, pentru aceasta trebuie să facem următoarele:
echo 'deb http: / /downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

3- Acum putem instala în cele din urmă serviciul, pentru aceasta vom actualiza mai întâi dependențele noastre și apoi vom instala pachetul:
sudo apt-get update

Odată ce totul a fost actualizat, plasăm comanda pentru a efectua instalarea și cu aceasta vom avea serviciul disponibil mongoDB în sistemul nostru:
sudo apt-get install -y mongodb-org

Instalare în Windows este mai simplu, trebuie doar să ne asigurăm că avem Windows Vista sau ceva mai nou, deoarece din păcate ultima versiune de mongoDB nu este compatibil cu Windows XP.
Apoi, vizităm site-ul oficial mongoDB și alegem versiunea care se potrivește cel mai bine cu configurația sistemului nostru de operare:

MARI

Odată ce fișierul executabil este descărcat, îl instalăm și apoi vom efectua următorii pași, astfel încât serviciul să poată porni corect:
1- Trebuie să creăm un folder de date unde mongoDB putem stoca colecțiile de documente ale bazelor noastre de date, pentru aceasta din consola de comandă, cu permisiunile administratorului, vom localiza în directorul corespunzător și vom crea un folder nou. Pentru aceasta folosim următoarele:
md \ data \ db

2- După crearea folderului trebuie să pornim serviciul mongoDB facem acest lucru atunci când executăm mongod.exe, calea ar trebui să fie similară cu următoarea, în funcție de locul în care am instalat și de versiunea de mongoDB asta avem:
C: \ Program Files \ MongoDB 2.6 Standard \ bin \ mongod.exe

Să vedem în imaginea următoare unde ne dăm seama că totul a mers bine când consola ne spune asta mongoDB așteptați noi conexiuni:

Din moment ce ne-am instalat cu succes serviciul mongoDB, acum trebuie să spunem PHP cum trebuie să comunicați cu el, pentru aceasta trebuie să descărcăm driverul corespunzător și să îl activăm în php.ini ca extensie.
La Windows putem descărca driverul din depozitul oficial al mongoDB în următoarea cale: s3.amazonaws.com/drivers.mongodb.org/php/index.html unde vom avea mai multe opțiuni, trebuie să o selectăm pe cea mai recentă și stabilă.
Identificați extensiaOdată ce fișierul este descărcat, dezarhivăm și căutăm extensia care se potrivește versiunii noastre de PHP, în cazul meu cum rulez versiunea 5.4 voi folosi php_mongo-1.6.0RC2-5.4-vc9.dll și îl redenumim ca php_mongo.dll.
Apoi trebuie să mutăm fișierul în directorul extensiilor noastre care ar fi:
C: \ wamp \ bin \ php \ php5.4.12 \ ext

Cu extensia adăugată, ar trebui să adăugăm doar în php.ini următoarea linie: extensie = php_mongo.dll
In cele din urma ne repornim serverul Apache și executăm phpinfo () Pentru a verifica dacă extensia este activată, căutăm cu CTRL + F cuvantul mongo și vom vedea informațiile despre extensia noastră:

MARI

Cu această verificare vom fi gata să lucrăm cu PHP Da mongoDB în mediul nostru Windows.
La Linux este nevoie de câțiva pași suplimentari, trebuie să instalăm mai întâi Pară, pentru aceasta vom face următoarele în consolă sau terminal:
sudo apt-get install php5-dev php5-cli php-pear

Apoi procedăm la instalarea driverului, pentru a face acest lucru de pe consolă sau terminal vom executa următoarea instrucțiune:
sudo pecl install mongo

În cele din urmă trebuie să ne deschidem php.ini și activați extensia:
extension = mongo.so

Cu asta putem reporniți serverul nostru apache și vom fi gata să începem să lucrăm Linux.
Am făcut deja suficiente setări tehnice pentru ca dvs. mongoDB Da PHP poate comunica, totuși trebuie să vedem puțin cum funcționează acest motor Baze de date să ne facem o idee despre ce putem realiza cu NoSQL.
Colecții și documenteÎn primul rând trebuie să știm că nu există tabele, dar colecții și nu sunteți înregistrări stocate, ci documente, acest lucru ne oferă libertatea că nu este necesar să urmăm o structură rigidă și că fiecare document poate conține toate datele de care aveți nevoie.
Un exemplu clasic este cel al autorii și cărțile lor, într-un Bază de date relațional trebuie să creăm un tabelul autorilor, atunci trebuie să creăm un masa de carte iar în acesta din urmă trebuie să avem un câmp în care să asociem identitatea sau identificatorul unic al autorului cu fiecare carte, nu este nimic despre care să scriem acasă și este destul de funcțional.
Cum funcționează mongoDB?În mongoDB pur și simplu vom crea un Colectie numiți autori și fiecare document va fi autor, mongoDB este responsabil pentru crearea automată a unui identificator unic, dar putem adăuga o proprietate care ne ajută să identificăm fiecare autor într-un mod adecvat, apoi putem crea în cadrul fiecărui autor un proprietate nouă numite cărți și acolo vom stoca toate titlurile lor, așa că, dacă dorim un autor care nu are cărți, consultăm pur și simplu documentul care nu are proprietatea cărților în colecție.
Acest lucru arată că nu există o relație stabilită pentru autori și cărți, există pur și simplu un document care poate conține sau nu acea parte, de fapt este atât de versatil încât putem crea un autor care conține o proprietate numită cărți pentru copii și că alți autori nu au, în acest fel nu va trebui să creăm noi relații sau tabele, pur și simplu va avea documentul de colecție.
După ce am acoperit deja bazele corespunzătoare a tot ceea ce trebuie să știm înainte de a ne putea conecta PHP, să analizăm ce avem nevoie:
  • Un server pentru a rula PHP, de exemplu Apache.
  • Serviciul mongoDB instalat și activ așteptând conexiuni.
  • Ați instalat driverul PHP la mongoDB.
  • Un editor de text simplu și posibilitatea de a rula pe serverul nostru PHP cod pe care îl scriem.

Primul lucru pe care trebuie să-l facem este să creăm un obiect al clasei MongoClient, nu ar trebui să fie probleme dacă am instalat corect driverul, apoi cu acel obiect stabilim numele nostru Bază de date, în acest caz punem bibliotecă, apoi setăm numele colecției și acum putem insera date, să vedem codul sursă al acestui exemplu:
 bibliotecă; $ colecție = $ db-> autori; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ colecție-> inserare ($ autor); $ author = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ colecție-> inserare ($ autor); $ author = array ('autorid' => 3, 'name' => 'Max Brooks'); $ colectie-> salvare ($ autor); ?> var13 -> 

Vedem cum fiecare dintre înregistrările care sunt de fapt documente din colecția noastră le construim sub formă de matrice în programul nostru, atunci doar trecem matricea la obiect Colectie și executăm metoda introduce, acest lucru ne oferă cu ușurință modalitatea de a insera date în colecția noastră în mongoDB, să vedem în imaginea următoare cum, după executarea codului nostru pe serverul nostru, al nostru Bază de date apel bibliotecă:

MARI

Deoarece am văzut cât de ușor inserăm datele, vom face acum o mică interogare, în acest fel vom demonstra modul în care funcționează extragerea datelor din documente.
Pentru aceasta vom face din nou conexiunile necesare ca în exemplul anterior, dar acum vom folosi metoda găsește una () cu obiectul Colectie, în acest fel putem interoga oricare dintre proprietățile documentului din colecție, cum ar fi autor pe care le-am creat, să vedem codul:
 bibliotecă; $ colecție = $ db-> autori; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ colectie-> inserare ($ autor); $ author = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ colectie-> inserare ($ autor); $ author = array ('autorid' => 3, 'name' => 'Max Brooks'); $ colectie-> salvare ($ autor); $ documents = $ collection-> findOne (array ('autorid' => 2)); ecou "Date interogare:
"; aruncat "Cheia primară Mongo: {$ documents ['_ id']}
"; aruncat "Numele autorului: {$ documents ['name']} ";?> var13 ->

În cele din urmă, putem parcurge rezultatele ca și cum ar fi o matrice și pur și simplu indicăm indexul fiecărei proprietăți pe care trebuie să le imprimăm, în plus am inclus proprietatea în exemplu _id astfel încât să putem vizualiza cum mongoDB generează cheia primară sau câmpul identificator unic. Să vedem rezultatul în browserul nostru când rulăm codul nostru:

Există câteva instrumente pe care le putem folosi pentru a gestiona paginile noastre web. Baze de date în mongoDB.
Una dintre ele este Genghis, pentru aceasta putem descărca sau clona proiectul în directorul nostru www sau echivalent unde putem ridica o pagină gazdă locală și putem vedea instalarea noastră de mongoDB și datele dvs., pentru a finaliza, să vedem cum arată acest instrument util:

MARI

Cu aceasta am terminat acest tutorial, avem deja o bază pentru a putea intra în lumea NoSQL, care se află în tendința actuală în gestionarea colecțiilor mari de date, mulți ar putea pune la îndoială stabilirea conexiunii în PHP având alternative de genul node.js, răspunsul este simplu, deoarece există multe sisteme de backend făcute în acest limbaj și cu aceste cunoștințe, vom putea să ne refolosim codurile pe tot parcursul vieții în timp ce ne actualizăm la noile tehnologii.
wave wave wave wave wave