PHP връзка с mongoDB

Съдържание
The NoSQL бази данни те придобиват голямо значение през последните години. Техният мащабируем дизайн и възможността за управление на структури по несвързан начин ги правят алтернатива за новите форми на развитие, които се случват в света.
Ето защо трябва да имаме предвид, че е реалност, че скоро ще трябва да знаем как да се справим с тях, както сега знаем как да се справим с тях. Бази данни традиционни езици, за това ще трябва да се свържем с тях чрез традиционни езици, като широко известните PHP.
Един от двигателите на NoSQL бази данни най -популярният е mongoDB, поради лесната си инсталация и развиваща се общност, която ни позволява да научим много за кратко време с прости търсения в Интернет.
Монтаж на MongoDBПървото нещо, което трябва да направим, е да инсталираме сървъра mongoDB, с това ще получим двигателя на База данни да можем да управляваме новите си бази NoSQL. Тъй като това е нов двигател, той е проектиран така, че да може да се инсталира на различни платформи. Ще обясним как да го направите в две от най -важните операционни системи на днешния ден Windows Y Linux във вашата версия Ubuntu.
За инсталиране mongoDB в Ubuntu Трябва да следваме няколко прости стъпки, за да активираме пакета, след като тези стъпки бъдат изпълнени, можем да използваме apt-get install нормално, да видим.
1- Първо трябва да импортираме публичния ключ, за това ще отворим нова конзола или терминал и ще напишем следната команда:
sudo apt-key adv --keyserver hkp: / /keyserver.ubuntu.com:80 --recv 7F0CEB10

2- След това трябва да добавим файл със списък към mongoDB, за това трябва да направим следното:
echo 'deb http: //downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

3- Сега най -накрая можем да инсталираме услугата, за това първо ще актуализираме нашите зависимости и след това ще инсталираме пакета:
sudo apt-get update

След като всичко е актуализирано, ние поставяме командата за извършване на инсталацията и с това ще имаме услугата на разположение mongoDB в нашата система:
sudo apt-get install -y mongodb-org

Инсталиране в Windows е по -просто, просто трябва да се уверим, че имаме Windows Vista или нещо по -ново, тъй като за съжаление най -новата версия на mongoDB не е съвместим с Windows XP.
След това посещаваме официалния сайт на mongoDB и избираме версията, която най -много съответства на конфигурацията на нашата операционна система:

Увеличете

След като изпълнимият файл бъде изтеглен, ние го инсталираме и след това ще изпълним следните стъпки, за да може услугата да стартира правилно:
1- Трябва да създадем папка с данни, където mongoDB може да съхранява колекциите от документи на нашите бази данни, за това от командната конзола, с администраторски разрешения, ще намерим в съответната директория и ще създадем нова папка. За това използваме следното:
md \ data \ db

2- След създаването на папката трябва да стартираме услугата mongoDB ние правим това при изпълнение mongod.exe, пътят трябва да е подобен на следния, в зависимост от това къде сме инсталирали и версията на mongoDB че имаме:
C: \ Program Files \ MongoDB 2.6 Standard \ bin \ mongod.exe

Нека видим на следващото изображение къде осъзнаваме, че всичко е минало добре, когато конзолата ни казва това mongoDB изчакайте нови връзки:

Тъй като успешно инсталирахме нашата услуга mongoDB, сега трябва да кажем PHP как трябва да общувате с него, за това трябва да изтеглим съответния драйвер и да го активираме в php.ini като разширение.
Да се Windows можем да изтеглим драйвера от официалното хранилище на mongoDB по следния път: s3.amazonaws.com/drivers.mongodb.org/php/index.html където ще имаме няколко опции, трябва да изберем най -новата и стабилна.
Идентифицирайте разширениетоСлед като файлът бъде изтеглен, ние разархивираме и търсим разширението, което отговаря на нашата версия на PHP, в моя случай как изпълнявам версия 5.4 ще използвам php_mongo-1.6.0RC2-5.4-vc9.dll и преименуваме го на php_mongo.dll.
След това трябва да преместим файла в директорията на нашите разширения, която би била:
C: \ wamp \ bin \ php \ php5.4.12 \ вътр

С добавеното разширение ще трябва само да добавим в php.ini следния ред: разширение = php_mongo.dll
Най -накрая рестартираме нашия Apache сървър и ние изпълняваме phpinfo () За да проверим дали разширението е активирано, търсим с CTRL + F думата монго и ще видим информацията за нашето разширение:

Увеличете

С това потвърдено ще бъдем готови да работим PHP Y mongoDB в нашата среда Windows.
Да се Linux необходими са няколко допълнителни стъпки, първо трябва да инсталираме Круша, за това ще направим следното в конзолата или терминала:
sudo apt-get install php5-dev php5-cli php-pear

След това пристъпваме към инсталиране на драйвера, за да направим това от конзолата или терминала, ще изпълним следната инструкция:
sudo pecl инсталирате mongo

Накрая трябва да отворим нашия php.ini и активирайте разширението:
разширение = mongo.so

С това можем рестартирайте нашия сървър apache и ние ще бъдем готови да започнем работа Linux.
Вече направихме достатъчно технически настройки, за да можете mongoDB Y PHP може да комуникира, но трябва да видим малко как работи този двигател Бази данни да добием представа какво можем да постигнем с NoSQL.
Колекции и документиПърво трябва да знаем, че няма таблици, но колекции и вие не съхранявате записи, но документи, това ни дава свободата, че не е необходимо да следваме твърда структура и че всеки документ може да съдържа всички необходими данни.
Класически пример е този на автори и техните книги, в База данни релационни трябва да създадем a авторова таблица, тогава трябва да създадем a маса за книги и в последното трябва да имаме поле, където да свързваме уникалния идентификатор или идентификатор на автора с всяка книга, няма нищо за писане и е доста функционално.
Как работи mongoDB?В mongoDB ние просто ще създадем a колекция наречени автори и всеки документ ще бъде автор, mongoDB е отговорен за автоматичното създаване на уникален идентификатор, но можем да добавим свойство, което ни помага да идентифицираме всеки автор по подходящ начин, след което можем да създадем във всеки автор нов имот наречени книги и там ще съхраняваме всичките им заглавия, така че ако искаме автор, който няма книги, просто се консултираме с документа, който няма собствеността на книгите в колекцията.
Това показва, че няма установена връзка между автори и книги, просто има документ, който може или не може да съдържа тази част, всъщност той е толкова универсален, че можем да създадем автор, който съдържа свойство, наречено детски книги и че другите автори нямат, по този начин няма да се налага да създаваме нови връзки или таблици, просто документът за събиране ще го има.
След като вече обхванахме подходящите основи на всичко, което трябва да знаем, преди да можем да се свържем PHP, нека прегледаме какво ни трябва:
  • Сървър за стартиране PHP, например Apache.
  • Услугата mongoDB инсталиран и активен в очакване на връзки.
  • Инсталирали сте драйвера PHP да се mongoDB.
  • Обикновен текстов редактор и възможност за работа на нашия сървър PHP код, който пишем.

Първото нещо, което трябва да направим, е да създадем обект от класа MongoClient, това не би трябвало да е проблем, ако сме инсталирали драйвера правилно, тогава с този обект установяваме името на нашия База данни, в този случай поставяме библиотека, след това задаваме името на колекцията и сега можем да вмъкнем данни, нека видим изходния код на този пример:
 библиотека; $ collection = $ db-> автори; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ collection-> insert ($ author); $ author = array ('autorid' => 2, 'name' => 'Чък Паланюк'); $ collection-> insert ($ author); $ author = array ('autorid' => 3, 'name' => 'Макс Брукс'); $ collection-> save ($ author); ?> var13 -> 

Виждаме как всеки от записите, които са всъщност документи от нашата колекция ги изграждаме под формата на масив в нашата програма, тогава просто предаваме този масив на обекта колекция и изпълняваме метода вмъкване, това лесно ни дава възможност да вмъкнем данни в нашата колекция в mongoDB, нека видим на следващото изображение как след изпълнение на нашия код на нашия сървър, нашият База данни обади се библиотека:

Увеличете

Тъй като видяхме колко лесно вмъкваме данните, сега ще направим малка заявка, по този начин ще демонстрираме как работи извличането на данни от документите.
За целта отново ще направим необходимите връзки, както в предишния пример, но сега ще използваме метода findOne () с обекта колекция, по този начин можем да попитаме за някое от свойствата на документа в колекцията, като например автор който сме създали, нека видим кода:
 библиотека; $ collection = $ db-> автори; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ collection-> insert ($ author); $ author = array ('autorid' => 2, 'name' => 'Чък Паланюк'); $ collection-> insert ($ author); $ author = array ('autorid' => 3, 'name' => 'Макс Брукс'); $ collection-> save ($ author); $ documents = $ collection-> findOne (масив ('autorid' => 2)); echo "Данни на заявката:
"; изхвърлен"Първичен ключ на Монго: {$ documents ['_ id']}
"; изхвърлен"Име на автора: {$ documents ['name']} ";?> var13 ->

Накрая можем да преминем през резултатите, сякаш е масив и просто да посочим индекса на всяко свойство, което трябва да отпечатаме, освен това сме включили свойството в примера _документ за самоличност за да можем да си представим как mongoDB генерира поле за първичен ключ или уникален идентификатор. Нека видим резултата в нашия браузър, когато стартираме нашия код:

Има някои инструменти, които можем да използваме за управление на нашите уеб страници. Бази данни в mongoDB.
Един от тях е Чингиз, за ​​това можем просто да изтеглим или клонираме проекта в нашата директория www или еквивалент, където можем да повдигнем страница localhost и можем да видим нашата инсталация на mongoDB и вашите данни, за да завършим, нека видим как изглежда този полезен инструмент:

Увеличете

С това завършихме този урок, вече имаме база, за да можем да влезем в света на NoSQL, което е в настоящата тенденция за управление на големи колекции от данни, мнозина могат да поставят под въпрос осъществяването на връзката PHP като алтернативи като node.js, отговорът е прост, защото има много системи на бекенд направени на този език и с тези знания ще можем да използваме повторно нашите кодове през целия живот, докато се актуализираме до нови технологии.
wave wave wave wave wave