Я пытаюсь интегрировать Zend с MongoDB. Кажется, я почти закончил, но мне нужна помощь, чтобы выполнить задание. Я новичок в zend и mongo, но имею достаточный опыт работы с PHP и MySQL.
Некоторые детали:
Мой проект Zend основан на основном руководстве по адресу http://framework.zend.com/manual/2.0/en/user-guide/skeleton-application.html. Это отлично работает на моем компьютере, но основано на mysql.
Я установил MongoDB. Я могу написать nosql в командной строке и создать экземпляр объекта MongoClient в PHP-скрипте, так что эти вещи, кажется, работают и взаимодействуют друг с другом.
Я хочу использовать mongo вместо mysql, и я реализовал Doctrine. Я понятия не имею, что делает Doctrine, и я провел несколько поисков, чтобы попытаться найти, как запускать команды mongo в zend. Эти факты приводят меня к выводу, что я не знаю, что делаю.
Итак, к специфике моего вопроса:
- Насколько я понимаю, я должен где-то создавать экземпляр объекта монго. Если да, то где я должен поместить экземпляр в Zend?
- Если нет, то, по-видимому, мне нужен существующий экземпляр объекта монго для запуска различных команд поиска/сохранения из класса модели, поэтому, если это правда, как мне получить доступ к существующему объекту монго?
Спасибо за любую помощь, и уточняющие вопросы одинаково приветствуются.
Отредактировано 12 декабря 2012 г. для уточнения.
С данными ответами кажется, что я на правильном пути, и я могу уточнить, что мне нужно: глядя на Документация Doctrine, ссылка на которую приведена ниже, я до сих пор не понимаю, где должен происходить экземпляр диспетчера документов. Я ожидал, что он перейдет в более общее место, которое запускается при каждой загрузке страницы. Кроме того, большинство руководств, которые я нахожу, относятся к файловой структуре, отличной от структуры приложения, поэтому, когда они говорят помещать определенные вещи в определенные места, я не уверен, что они имеют в виду. Например, я постоянно вижу ссылки на файлы начальной загрузки, но мои единственные файлы начальной загрузки находятся в тестовых каталогах.
Мои вопросы таковы:
- Какой код мне нужно добавить в функцию indexAction (которая обязательно срабатывает, когда я перехожу по правильному URL-адресу), если я просто хочу распечатать все документы в коллекции?
- Нужно ли мне добавлять какой-либо другой код в другом месте, если да, то где и какой код?