PHP -forbindelse med mongoDB

Indholdsfortegnelse
Det NoSQL -databaser de har taget en stor relevans i de sidste år. Deres skalerbare design og muligheden for at styre strukturer på en ikke -relateret måde gør dem til et alternativ til de nye udviklingsformer, der finder sted i verden.
Derfor skal vi huske på, at det er en realitet, at vi snart skal vide, hvordan vi skal håndtere dem, som vi nu ved, hvordan vi skal håndtere dem. Databaser traditionelle sprog, til dette bliver vi nødt til at oprette forbindelse til dem via traditionelle sprog, såsom det almindeligt kendte PHP.
En af motorerne til NoSQL -databaser mest populær er mongoDB, på grund af sin lette installation og et udviklende fællesskab, der giver os mulighed for at lære meget på kort tid med enkle søgninger på Internettet.
MongoDB installationDen første ting, vi skal gøre, er at installere serveren mongoDB, med dette får vi motoren af Database at kunne styre vores nye baser NoSQL. Da det er en ny motor, er den designet, så den kan installeres på forskellige platforme. Vi vil forklare, hvordan man gør det i to af de vigtigste operativsystemer i dag Windows Y Linux i din version Ubuntu.
Til installation mongoDB i Ubuntu Vi skal følge et par enkle trin for at aktivere pakken, når disse trin er udført, kan vi bruge apt-get install normalt, lad os se.
1- Først skal vi importere den offentlige nøgle, til dette åbner vi en ny konsol eller terminal og skriver følgende kommando:
sudo apt-key adv --keyserver hkp: / /keyserver.ubuntu.com:80 --recv 7F0CEB10

2- Så skal vi tilføje en listefil til mongoDB, hertil skal vi gøre følgende:
echo 'deb http: //downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

3- Nu kan vi endelig installere tjenesten, til dette opdaterer vi først vores afhængigheder og derefter installerer pakken:
sudo apt-get opdatering

Når alt er blevet opdateret, placerer vi kommandoen til at udføre installationen, og med det vil vi have tjenesten tilgængelig mongoDB i vores system:
sudo apt-get install -y mongodb-org

Installation i Windows er enklere, skal vi bare sørge for, at vi har Windows Vista eller noget nyere, da desværre den nyeste version af mongoDB ikke kompatibel med Windows XP.
Derefter besøger vi det officielle mongoDB -websted og vælger den version, der bedst matcher vores operativsystemkonfiguration:

FORSTØRRE

Når den eksekverbare fil er downloadet, installerer vi den, og derefter udfører vi følgende trin, så tjenesten kan starte korrekt:
1- Vi skal oprette en datamappe, hvor mongoDB kan gemme dokumentsamlinger af vores databaser, for dette fra kommandokonsollen, med administratorrettigheder, skal vi finde i det relevante bibliotek og oprette en ny mappe. Til dette bruger vi følgende:
md \ data \ db

2- Efter oprettelse af mappen skal vi starte tjenesten mongoDB vi gør dette, når vi udfører mongod.exe, stien skal ligne følgende, afhængigt af hvor vi har installeret og versionen af mongoDB at vi har:
C: \ Program Files \ MongoDB 2.6 Standard \ bin \ mongod.exe

Lad os se i det følgende billede, hvor vi indser, at alt gik godt, når konsollen fortæller os det mongoDB vent på nye forbindelser:

Da vi med succes har installeret vores service mongoDB, nu må vi fortælle PHP hvordan du skal kommunikere med ham, til dette skal vi downloade den relevante driver og aktivere den i php.ini som en forlængelse.
Til Windows vi kan downloade driveren fra det officielle arkiv af mongoDB i følgende sti: s3.amazonaws.com/drivers.mongodb.org/php/index.html hvor vi vil have flere muligheder, skal vi vælge den seneste og stabile.
Identificer udvidelsenNår filen er downloadet, pakker vi ud og leder efter den udvidelse, der passer til vores version af PHP, i mit tilfælde hvordan jeg kører version 5.4 jeg vil bruge php_mongo-1.6.0RC2-5.4-vc9.dll og vi omdøber det til php_mongo.dll.
Derefter skal vi flytte filen til biblioteket over vores udvidelser, som ville være:
C: \ wamp \ bin \ php \ php5.4.12 \ ext

Med den tilføjede udvidelse behøver vi kun at tilføje php.ini følgende linje: udvidelse = php_mongo.dll
Endelig vi genstarter vores Apache -server og vi udfører phpinfo () For at kontrollere, at udvidelsen er aktiveret, søger vi med CTRL + F ordet mongo og vi vil se oplysningerne om vores udvidelse:

FORSTØRRE

Med denne verificerede vil vi være klar til at arbejde med PHP Y mongoDB i vores miljø Windows.
Til Linux det tager et par ekstra trin, vi skal først installere Pære, til dette vil vi gøre følgende i konsollen eller terminalen:
sudo apt-get install php5-dev php5-cli php-pear

Derefter fortsætter vi med at installere driveren, for at gøre dette fra konsollen eller terminalen udfører vi følgende instruktion:
sudo pecl install mongo

Endelig skal vi åbne vores php.ini og aktiver udvidelsen:
udvidelse = mongo.so

Med dette kan vi genstart vores server apache, og vi vil være klar til at begynde at arbejde på Linux.
Vi har allerede udført nok tekniske indstillinger til, at du kan mongoDB Y PHP kan kommunikere, men vi må se lidt, hvordan denne motor fungerer Databaser at få en idé om, hvad vi kan opnå med NoSQL.
Samlinger og dokumenterFørst og fremmest skal vi vide, at der ikke er borde, men samlinger og du er ikke gemt poster, men Dokumenter, dette giver os den frihed, at det ikke er nødvendigt at følge en stiv struktur, og at hvert dokument kan indeholde alle de data, du har brug for.
Et klassisk eksempel er det af forfattere og deres bøger, i en Database relationelle skal vi skabe en forfatterens tabel, så skal vi oprette et bogbord og i sidstnævnte skal vi have et felt, hvor vi forbinder forfatterens unikke id eller identifikator med hver bog, det er ikke noget at skrive hjem om, og det er ganske funktionelt.
Hvordan fungerer mongoDB?I mongoDB vi vil simpelthen oprette en kollektion kaldet forfattere og hver dokument vil være forfatter, mongoDB er ansvarlig for at oprette en unik identifikator automatisk, men vi kan tilføje en ejendom, der hjælper os med at identificere hver forfatter på en ordentlig måde, så kan vi oprette inden for hver forfatter en ny ejendom kaldet bøger, og der vil vi gemme alle deres titler, så hvis vi vil have en forfatter, der ikke har bøger, konsulterer vi simpelthen det dokument, der ikke har bøgernes ejendom i samlingen.
Dette viser, at der ikke er noget etableret forhold til forfattere og bøger, der er simpelthen et dokument, der måske eller måske ikke indeholder den del, faktisk er det så alsidigt, at vi kan oprette en forfatter, der indeholder en egenskab kaldet børnebøger og at andre forfattere ikke har, på denne måde behøver vi ikke at oprette nye relationer eller tabeller, simpelthen vil indsamlingsdokumentet have det.
Efter allerede at have dækket de korrekte grundlag for alt, hvad vi har brug for at vide, før vi kan forbinde med PHP, lad os gennemgå, hvad vi har brug for:
  • En server der skal køres PHP, for eksempel Apache.
  • Servicen mongoDB installeret og aktiv venter på forbindelser.
  • Har installeret driveren PHP til mongoDB.
  • En almindelig tekst editor og mulighed for at køre på vores server PHP kode vi skriver.

Den første ting, vi skal gøre, er at oprette et objekt i klassen MongoClient, dette burde ikke være problemer, hvis vi har installeret driveren korrekt, så med det objekt etablerer vi navnet på vores Database, i dette tilfælde sætter vi bibliotek, så indstiller vi samlingsnavnet, og nu kan vi indsætte data, lad os se kildekoden til dette eksempel:
 bibliotek; $ samling = $ db-> forfattere; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ samling-> indsæt ($ forfatter); $ author = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ samling-> indsæt ($ forfatter); $ author = array ('autorid' => 3, 'name' => 'Max Brooks'); $ samling-> gem ($ forfatter); ?> var13 -> 

Vi ser, hvordan hver af de poster, der faktisk er Dokumenter fra vores samling bygger vi dem i form af array i vores program, så sender vi bare det array til objektet kollektion og vi udfører metoden indsæt, det giver os let måde at indsætte data i vores samling i mongoDB, lad os se i det følgende billede, hvordan vi efter udførelse af vores kode på vores server, vores Database opkald bibliotek:

FORSTØRRE

Da vi har set, hvor let vi indsætter dataene, vil vi nu lave en lille forespørgsel, på denne måde vil vi demonstrere, hvordan dataudtrækningen af ​​dokumenterne fungerer.
Til dette vil vi lave de nødvendige forbindelser igen som i det foregående eksempel, men nu skal vi bruge metoden findOne () med objektet kollektionPå denne måde kan vi forespørge om nogen af ​​dokumentegenskaberne i samlingen, f.eks forfatter som vi havde oprettet, lad os se koden:
 bibliotek; $ samling = $ db-> forfattere; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ samling-> indsæt ($ forfatter); $ author = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ samling-> indsæt ($ forfatter); $ author = array ('autorid' => 3, 'name' => 'Max Brooks'); $ samling-> gem ($ forfatter); $ dokumenter = $ samling-> findOne (array ('autorid' => 2)); echo "Forespørgselsdata:
"; smed ud "Mongo Primær nøgle: {$ documents ['_ id']}
"; smed ud "Forfatterens navn: {$ documents ['name']} ";?> var13 ->

Endelig kan vi gå igennem resultaterne, som om det var en matrix og blot angive indekset for hver ejendom, som vi skal udskrive, og vi har også inkluderet ejendommen i eksemplet _id så vi kan visualisere hvordan mongoDB genererer den primære nøgle eller det unikke identifikationsfelt. Lad os se resultatet i vores browser, når vi kører vores kode:

Der er nogle værktøjer, som vi kan bruge til at administrere vores websider. Databaser i mongoDB.
En af dem er Genghis, til dette kan vi ganske enkelt downloade eller klone projektet i vores bibliotek www eller tilsvarende, hvor vi kan løfte en side ind lokal vært og vi kan se vores installation af mongoDB og dine data, lad os afslutte, hvordan dette nyttige værktøj ser ud:

FORSTØRRE

Med dette har vi afsluttet denne vejledning, vi har allerede en base for at kunne komme ind i verden af NoSQL, som er i den nuværende tendens til at styre store datasamlinger, kan mange stille spørgsmålstegn ved at oprette forbindelsen PHP have alternativer som node.js, svaret er enkelt, fordi der er mange systemer af bagende lavet på dette sprog og med denne viden vil vi være i stand til at genbruge vores livslange koder, mens vi opdaterer os til nye teknologier.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave