Проблема связана с созданием папки внутри папки приложения и доступом к ее классам в Zend-Framework? - PullRequest
1 голос
/ 29 июня 2011

У меня есть следующая структура в моем Zend-проекте:

-application
      -   PDF
      -   configs
      -   controllers
      -   models
      -   views
      -   Bootstrap.php
-library
-public
-tests

Я создал новую папку PDF внутри приложения папки.И я напишу несколько классов внутри it [PDF].

Я хочу получить доступ к этим классам внутри indexAction () IndexController , но он показывает ошибку , например:

"Класс 'Application_PDF_FormDocument' не найден в D: \ xampp \ htdocs \ zendapp \ application \ controllers \ IndexController.php в строке 13"

Что может быть возможной причиной?

Пожалуйста, предоставьте некоторую помощь .....

Заранее спасибо ......

Ответы [ 2 ]

2 голосов
/ 29 июня 2011

Я согласен с ChanibaL относительно наименования ваших классов.Вы должны назвать это PDF_FormDocumnet.Затем в application.ini зарегистрируйте пространство имен:

autoloaderNamespaces[] = "PDF_"

Наконец, в вашем index.php убедитесь, что вы добавляете его в путь включения:

set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    realpath(APPLICATION_PATH),
    get_include_path(),
)));

Это должно сделатьтрюк

1 голос
/ 29 июня 2011

Если в вашем приложении есть стандартный автозагрузчик, имя класса должно быть PDF_FormDocument (не Application_ part!) В файле application/PDF/FormDocument.php

Если это само по себе не помогает, попробуйте добавить

    protected function _initAutoload() {
            $autoloader=new Zend_Application_Module_Autoloader(array(
                    'namespace' => 'PDF',
                    'basePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'PDF'
            ));

до application/Bootstrap.php

...