—»     —»   MongoDB для новичков: настройка MongoDB для работы с PHP (Часть 3/3)
  Раздел: Базы данных   Нет комментариев  

MongoDB для новичков: настройка MongoDB для работы с PHP (Часть 3/3)



Перед тем, как всецело окунуться в руководство, мы рекомендуем вам ознакомиться с предыдущими статьями, посвященными работе с MongoDB.

* MongoDB для новичков: введение и установка
* MongoDB для новичков: основные команды

Сервер MongoDB разработан таким образом, что уже способен работать с вашим текущим веб-сервером. Проблема заключается в том, что вам нужно будет установить драйвера для языка, с которым вы желаете работать: PHP, Ruby, Node.js, Perl и так далее. Мы не будем вдаваться в подробности процесса установки WAMP/MAMP, так как это не совсем подходит к теме нашего сегодняшнего руководства.

MongoDB для новичков: настройка MongoDB для работы с PHP (Часть 3/3)

Но вы без проблем сможете найти в интернете очень простые руководства по установке WAMP/MAMP на любой ОС.

Примечание: Вы можете работать с сервером MongoDB и без веб-сервера. Но большинство приложений могут потребовать его, и поэтому мы фокусируем свое внимание на использовании MongoDB для веб-разработки.

Вы можете получить какой-то результат от работы MongoDB, если откроете localhost, используя определенный номер порта вашей установки.

MongoDB по умолчанию работает на 27017. Это порт драйвера, и для того, чтобы просматривать аналитику/диагностику, мы воспользуемся портом 28017. Так что, вы можете осуществить доступ к серверу MongoDB, введя в адресной строке браузера:

http://localhost:28017

Этот адрес должен работать корректно вне зависимости от того, находится ли ваш локальный веб-сервер онлайн.

После того, как вы установите и запустите WAMP или MAMP, вы можете посетить локальный веб-сервер на порту 80, чтобы просмотреть страницу стандартного шаблона.

Теперь мы хотим рассказать вам об установке PHP-драйвера, и завершим разработку библиотеки PHP-класса в MongoDB.

Установка PHP-драйверов MongoDB

Пользователи Mac и Linux должны иметь возможность установить эти драйверы напрямую из командной строки. Руководствуясь документацией PHP-языка для MongoDB, мы должны установить конкретный pecl из Pear Library кода PHP.

Вот строка кода, которую следует запустить из терминала:

sudo apt-get install php5-dev php5-cli php-pear  
sudo pecl install mongo

Если у вас уже установлена Pear, то вам не нужно запускать первую строку. Это необходимо только для PHP-установок, которые не обновлены до последней версии библиотеки Pear. Но после завершения команд, найдите ваш файл php.ini, и добавьте туда следующий отрывок кода:

extension=mongo.so

Вы должны заметить похожий блок кода где-то в середине файла, который имеет несколько других строк с повторяющимся extension=name. Большинство расширений ограничены комментарием, но строки без символа # представляют собой на данный момент активные расширения.

После того, как вы добавили эту строку, сохраните и закройте файл, затем перезагрузите ваш веб-сервер apache, чтобы изменения вступили в силу.

PHP-расширение Mongo в Windows

Все пользователи Windows также должны будут отредактировать файл php.ini. Это можно сделать напрямую посредством контекстного меню WAMP при нажатии на иконку, а затем при переходе в PHP -> php.ini. Вам нужно добавить ту же строку кода, за исключением того, что название файла должно быть php_mongo.dll.

Также, вместо установки посредством командной строки, вам будет проще скачать и скопировать расширение и переместить его вручную.

Windows-пользователям нужно перейти в Github-директорию, в которой полно php-драйверов MongoDB. Найдите там последнюю версию, которая поддерживает вашу версию PHP (5.2, 5.3, 5.4), и скачайте zip-архив. Как только вы распакуете архив, найдите там разрешение, которое совпадает с вашей версией PHP. В нашем случае то php_mongo-1.2.12-5.3-vc9.dll, который нужно переименовать в php_mongo.dll.

Теперь нужно поместить файл в директорию ваших PHP-расширений, которая должна быть расположена по адресу C:\wamp\bin\php\php5.x\ext\. Если вы переместили этот файл в правильное место, и в ваш файл php.ini была добавлена соответствующая строка кода, то все должно заработать! Перезагрузите ваш веб-сервер, и откройте страницу phpinfo(), чтобы просмотреть результат!

Вы можете осуществить поиск (CTRL + F) на предмет наличия mongo, и это поможет вам увидеть детали о модуле.

Веб-разработка Mongo при помощи PHP

Когда речь заходит о веб-разработке и базах данных, дискутировать можно бесконечно. Это всего лишь вводный материал, и поэтому мы не будем здесь затрагивать какие-то другие темы, включая пользователей, аутентификацию, обновление объектов, использование нескольких баз данных и так далее. Но давайте завершим нашу работу с PHP-классом MongoDB, и научимся правильно подключать его к базе данных.

Мы воспользуемся нашей тестовой базой данных, которая будет подключаться к ранее созданной коллекции shows. Мы можем извлечь все эти данные при помощи PHP, и отобразить содержимое на веб-странице. Мы создаем новый PHP-файл в корневом каталоге нашего локального веб-сервера, и даем ему название shows.php, наполняя его следующим кодом:

<?php
// Config
$dbhost = 'localhost';
$dbname = 'test';

// Connect to test database
$m = new Mongo("mongodb://$dbhost");
$db = $m->$dbname;

// select the collection
$collection = $db->shows;

// pull a cursor query
$cursor = $collection->find();

?>

Здесь мы выбираем тестовую базу данных, и далее осуществляем доступ к внутренней коллекции shows. Мы можем запустить функцию find() в любой коллекции Mongo, чтобы извлечь указатель с соответствующей внутренней информацией.

Теперь, для того, чтобы поместить эту информацию на страницу, давайте используемся var_dump(), которая подходит здесь лучше, чем альтернатива в лице print_r(). Добавьте последний блок кода прямо под переменную $cursor.

foreach($cursor as $document) {
var_dump($document);
}

Цикл foreach() должен пройтись по всем результатам указателей, и извлечь данные переменной для каждого внутреннего массива. У нас должно быть 3 объекта, которые отображают данные, ранее добавленные в нашу коллекцию TV Shows. Вы заметите, что здесь также есть и другой ключ под названием _id, который представляет собой id объекта, автоматически созданный для каждого документа.

Мы же рекомендуем вам более близко подойти к изучению документации о PHP-классе MongoDB при помощи Google. В интернете так много информации, что вряд ли все это получится уместить в вводный курс. Но этот небольшой PHP-скрипт должен служить примером того, насколько гибкими могут быть базы данных в Mongo. Нет никаких сбивающих с толку SQL-команд, нет требований к аутентификации, и весь код прост и понятен!

Завершающее слово

Разработчики, которые знакомы с базами данных, все равно могут столкнуться с трудностями, проходя по этапам, приведенным в данном руководстве. Даже если несколько раз прочесть что здесь написано, все равно могут остаться назревшие вопросы по поводу терминологии, к примеру. Но не стоит пугаться первоначальных сложностей при работе с mongo, так как уже через неделю вы будете вспоминать, насколько сложно было работать с MySQL.

Mongo представляет собой open source систему баз данных, которая не имеет схем, и может быть быстро расширена по сравнению с конкурирующими системами. Вы не ограничены лишь колонками или таблицами, и внесение данных производится невероятно быстро при помощи кода в формате JSON. Также следует отметить тот факт, что вы можете устанавливать соединение с вашими веб-приложения при помощи PHP, и это зачастую намного проще, чем в случае с MySQL/MSSQL.

Мы действительно надеемся, что данное руководство поможет новичкам в работе с MongoDB, и они самостоятельно смогут произвести установку, настройку и начать разработку веб-приложений.

В целом, Mongo не всегда будет выбором номер один при разработке новых веб-проектов. Но данная система очень безопасна, очень надежна, и медленно, но верно набирает обороты и привлекает все больше внимания в сообществе разработчиков.
Обнаружили ошибку или мёртвую ссылку?
Выделите проблемный фрагмент мышкой и нажмите CTRL+ENTER.
В появившемся окне опишите проблему и отправьте уведомление Администрации ресурса.
Нужна органическая вечная ссылка из данной статьи? Постовой?
Подробности здесь
Вам понравился материал? Поблагодарить легко!
Будем весьма признательны, если поделитесь этой статьей в социальных сетях:

Ключевые тэги: MongoDB, PHP
Опубликовал Design FactoRy   Прочитано (раз): 10560   |   Нет комментариев
Автор перевода — CoolWebmasters.Com ©   |   Источник материала / оригинал статьи   Распечатать
Другие статьи и новости по теме:
Добавление комментария
Уважаемые пользователи!
При добавлении комментариев на сайт Вам следует учитывать следующее - все комментарии проверяются Администрацией на предмет отсутствия спама. При обнаружении признаков спама, в оставленном Вами комментарии, сам комментарий будет незамедлительно удалён, а Ваш IP-адрес будет забанен без предупреждения! Учётные записи пользователей, рассылающих спам, блокируются/удаляются без права последующего восстановления.

С уважением, Администрация сайта.
* = поля обязательны к заполнению
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Вопрос : Назовите месяц October по-русски
Подтверждение кода безопасности :

Включите эту картинку для отображения кода безопасности
обновить, если не виден код


Популярные публикации


















Свежие шаблоны сайтов каждый день
С миру по нитке
«    Апрель 2017    »
ПнВтСрЧтПтСбВс
 12
3456789
10111213141516
17181920212223
24252627282930