【问题标题】:Problem related to Creation of folder inside the application folder and access its classes in Zend-Framework?与在应用程序文件夹中创建文件夹并在 Zend-Framework 中访问其类有关的问题?
【发布时间】:2011-06-29 13:22:48
【问题描述】:

我的 Zend 项目中有以下结构:

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

我在 application 文件夹中创建了一个新文件夹 PDF。我已经在里面写了一些类[PDF]。

我想要的是在IndexController的indexAction()访问这些类,但它显示了一个错误,例如:

“在第 13 行的 D:\xampp\htdocs\zendapp\application\controllers\IndexController.php 中找不到类 'Application_PDF_FormDocument'”

可能的原因是什么?

请提供一些帮助.....

提前致谢......

【问题讨论】:

  • @Fatmuemoo 和 @ChanibaL :它现在对我来说非常有用,再次感谢......

标签: php zend-framework zend-framework-mvc


【解决方案1】:

我同意 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(),
)));

这应该可以解决问题

【讨论】:

    【解决方案2】:

    如果您的应用程序中有标准自动加载器,则文件application/PDF/FormDocument.php 中的类名应为PDF_FormDocument(不是Application_ 部分!)

    如果这本身没有帮助,请尝试添加

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

    application/Bootstrap.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      相关资源
      最近更新 更多