zend_loader_autoloader 似乎没有加载抽象类
我正在掌握 Zend_Autoload 但我拥有的非 zend 类在扩展时不会加载。
自动加载器的初始化如下:
// Initialise Autoloader
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->suppressNotFoundWarnings(true);
$autoloader->setFallbackAutoloader(true);
$autoloader->registerNamespace('lib_');
}
它与其他类一起工作得很好。是否需要预先手动加载抽象类文件和实现的接口?
I am getting a grip on Zend_Autoload but a non-zend class I have is not loading when extended.
The autoloader is initialized like so:
// Initialise Autoloader
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->suppressNotFoundWarnings(true);
$autoloader->setFallbackAutoloader(true);
$autoloader->registerNamespace('lib_');
}
It all works fine with other classes. Is it required to load abstract class files and implemented interfaces manually beforehand?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Zend_loader_autoloader 实际上确实加载抽象类,同上,对于类可能实现的任何接口。甜的。
Zend_Loader 类中的几个调试调用很快就指出了我的问题:
我的文件名为 AbstractTableFetch.php ,该类名为 FetchTable。
显然,自动加载器只有在文件名和类名相同的情况下才会起作用。
Zend_loader_autoloader actually does load abstract classes, idem for any interface a class may implement. Sweet.
A couple of debugging calls straight in the Zend_Loader class quickly indicated my problem:
My file was named AbstractTableFetch.php , the class was called FetchTable.
The autoloader obviously will only works if the filename and class name are the same.