我在Zend项目中有以下结构:
-application
- PDF
- configs
- controllers
- models
- views
- Bootstrap.php
-library
-public
-tests
我在应用程序文件夹中创建了一个新文件夹PDF。我在it[PDF]中编写了一些类。
我想要的是访问IndexController的indexAction()内的此类,但它显示了错误如:
"在D:''examplep''htdocs''zendapp''Application''controllers''IndexController.php的第13行中找不到类Application_PDF_FormDocument"
可能的原因是什么?
请提供一些帮助。。。。。
提前感谢。。。。。。
关于类的命名,我同意ChanibaL的观点。您应该将其命名为PDF_FormDocument。接下来,在application.ini中,regerster名称空间:
autoloaderNamespaces[] = "PDF_"
最后,在index.php中,确保将其添加到include路径:
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
realpath(APPLICATION_PATH),
get_include_path(),
)));
这应该可以完成
如果您的应用程序中有一个标准的自动加载器,那么文件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