2009-12-02 4 views
2

Моя установка приложений с 2 ​​модулями администратора и по умолчанию я проверить контроллер, который прекрасно работает на модуляхЗенд модули модели

, но модели не работает

Я создал модель приложения \ Modules \ Admin \ модели \ user.php

<?php 

class Admin_Model_User{ 
} 

внутри контроллера

$user = new Admin_Model_User(); 

Fatal error: Class 'Admin_Model_User' not found

ответ

10

По существу, вам нужны 2 строки в файле application.ini;

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules[] = "" 

Тогда для каждого модуля, вам нужен модуль начальной загрузки файла:

Файл: MyProject/приложения/модули/{} имя_модуля /Bootstrap.php

<?php 

class {Modulename}_Bootstrap extends Zend_Application_Module_Bootstrap 
{ 
} 

(Да, является пустым классом.)

Более подробная информация находится на http://akrabat.com/zend-framework/bootstrapping-modules-in-zf-1-8/.

+0

Я могу сделать модель, отличную от модели по умолчанию, но когда я создаю Default_Model_ {Model}, который все еще получает ошибку, любая идея почему? У меня есть Bootstrap.php в моем/приложении/modules/default/ – cc96ai

+0

Спасибо большое, вы сделали мой день! –

1

Настройте автозагрузчик, чтобы каркас мог отобразить префикс вашего класса Admin_Model в соответствующий путь источника. Это не делается автоматически.

Предлагаю прочитать part on models из Zend Framework Quickstart, в котором подробно объясняется, как это сделать.

1

Вы используете автозагрузчик?

Если вы должны изменить имя класса (или путь), чтобы отразить путь (или имя класса)

Модели <> Модель

Вы должны

Admin_Model_User в админ/модели /user.php

или

Admin_Models_User в админ/модели/user.php.