Zend框架中的模块自动加载器
|
我使用Zend框架开发了一个项目,但遇到了以下问题。我正在使用通过其zf.sh脚本生成的Zend框架MVC文件夹结构。
我的库文件夹具有Zend库文件夹,并且可以在应用程序内部正常调用其类。我在库中为班级创建了另一个文件夹。现在是文件夹结构:
我的项目
| _应用
| _docs
| _public
| _library
| _Zend
| _买家
| _Donations.php
| _脚本
我将捐赠类“ Buyers_Donations \”命名为Zend框架命名约定。
当我尝试在控制器中使用此类时
$obj= new Buyers_Donation();
它给出了一个错误,无法在控制器内找到类Buyers_Donation。
但是,当我在Bootstrap中添加以下行时,它起作用了:
$loader = Zend_Loader_Autoloader::getInstance();
$loader->setFallbackAutoloader(true);
$moduleLoder = new Zend_Application_Module_Autoloader(
array(
\'namespace\'=>\'\',
\'basePath\'=>dirname(__FILE__)
));
尽管我的应用程序中没有任何模块,但是有人可以解释一下实际发生了什么,以及模块自动装载器的用途是什么?
没有找到相关结果
已邀请:
2 个回复
捅瓶啡
您也可以根据需要在application.ini中进行设置。 我还假设您的类位于库文件夹中,而不是您的问题所暗示的位于公共目录中(这很不好)。
席陋临拈
如果确实希望将zend loader与使用自己名称空间的库代码一起使用,则可以使用registerNamespace()方法在autoloader中进行注册。在引导程序中,您可以执行以下操作:
如果自动加载程序不起作用,请确保将include路径设置为库文件夹的某个位置。它由zend框架自动添加到public / index.php: