Я начал документировать себя в отношении Zend Framework, так как скоро начну использовать его в работе. Все работало нормально, пока я не начал использовать и работать с моделями:).
Местоположение по умолчанию для моделей, основанное на рекомендациях Zend, - application/models/DbTable
, в которое будут добавлены все модели. Это расположение вынуждает меня назвать модель как Application_Model_DbTable_Actors
. Для меня это очень длинное название модели, а не простое в использовании.
Структура каталогов, которую я хочу получить, выглядит примерно так:
application/
models/
actors/
ActorsMapper.php
Actor.php
books/
BooksMapper.php
Book.php
и т.д.
Таким образом, все мои модели будут находиться в каталоге models
, но сгруппированы в свои собственные каталоги.
Имена для каждого класса должны быть ActorsMapper
или Actor
(оба будут расширяться Zend_Db_Table
или Zend_Db_Row
).
Мне известно о том факте, что в моих контроллерах, если я создаю модель, используя что-то вроде $actors = new ActorsMapper()
, я получу Fatal error: Class not found
, и именно поэтому я прошу вашей помощи в этом.
Чтобы решить эту проблему, я попытался добавить каталог models
в include_path:
но этот даже не добавляет его к пути включения
вторая попытка:
явно добавили путь, используя set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
realpath(APPLICATION_PATH . '/models'),
get_include_path(),
)));
, но даже если это добавляет этот путь среди включенных, ошибка все равно сохраняется.
Я видел это наименование моделей в официальной документации Zend_Db_Table
, но я не смог найти ничего, связанного с их автозагрузкой.
Спасибо всем за любые решения.
p.s. Версия Zend Framework - 1.11.1
.