Инициализация базы данных Zend Framework - PullRequest
3 голосов
/ 07 апреля 2011

в таких руководствах, как эта http://akrabat.com/zend-framework-tutorial/, параметры базы данных для приложения хранятся в файле конфигурации application.ini. Читая документы по zend_db и другим учебным пособиям по взаимодействию с базой данных, можно предположить, что объект базы данных создается из параметров, жестко запрограммированных в коде php. Что сбивает с толку, так это то, что в учебных руководствах, таких как приведенный выше, нет явной инициализации объекта базы данных. Итак, мой естественный вывод в этом заключается в том, что объект базы данных автоматически генерируется из параметров, указанных в файле конфигурации application.ini?

1 Ответ

8 голосов
/ 07 апреля 2011

Так что мой естественный вывод на это что объект базы данных автоматически генерируется из параметры, представленные в Конфигурационный файл application.ini?

На самом деле, есть несколько шагов, прежде чем ваша база данных будет инициализирована.

  1. Ваше приложение загружено
  2. Читает файл конфигурации
  3. Когда ресурс. * Найден, проверьте, существует ли соответствующий класс ресурса
  4. Класс ресурсов инициализирует объект с заданным параметром
    1. Zend_Db_Table имеет статический метод setDefaultAdapter ($ db), который принимает вновь созданный объект Zend_Db, теперь каждый объект Zend_Db_table может использовать объект Db, установленный в вашей конфигурации.
  5. Возвращает вновь созданный объект
  6. Вернитесь к 3.
  7. Маршрутизатор, контроллер, макет, вид и т. Д.

Это «поведение» появилось недавно, поэтому вы можете найти какой-то старый учебник, в котором показано, как вручную загрузить объект Zend_Db, иногда просто чтобы показать вам, как работает Zend_Db.

...