Невозможно вызвать модель внутри контроллера, Zend Framework - PullRequest
0 голосов
/ 04 марта 2012

Я хочу инициализировать объект модели внутри контроллера, но происходит фатальная ошибка.

Fatal error: Class 'Visits_Model_Visit' not found in C:\AppServ\www\zendApps\InspectionSys\application\modules\visits\controllers\VisitController.php on line 24

Я посещаю вызовы одного модуля, у него есть структура папок Model, View и controller.

* * * * * Visits_Model_Visit существует внутри папки модели, и я пытаюсь определить объект из нее внутри действия контроллера

public function addAction() {

    if (isset($_POST)) {

        $visitObj = new Visits_Model_Visit();   // an error occur here!

    }
  }

Here is the structure of the peoject

Ответы [ 2 ]

1 голос
/ 05 марта 2012

[править] Я нашел это ... посмотрите на Bootstrap.php, который находится под /modules, переместите его под /modules/visits и убедитесь, что он выглядит ниже, что должно исправить это.

Все, что я могу сказать, это проверить несколько вещей, обычно все будет работать, когда загрузчик вашего модуля выглядит так:

<?php

class Visits_Bootstrap extends Zend_Application_Module_Bootstrap{
    //put your code here
}

и ваш application.ini имеет следующие строки:

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.moduleControllerDirectoryName = "controllers"
resources.frontController.params.prefixDefaultModule = ""
resources.modules = ""

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

0 голосов
/ 04 марта 2012

Ваш Visits_Model_Visit существует в папке / models (обратите внимание на 's' в конце), во-первых, следите за этим ... но я не знаю, как вы настроили свой автозагрузчик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...