【发布时间】:2012-05-07 16:12:16
【问题描述】:
在 Zend 应用程序中,有没有办法定义一个不符合自动加载命名约定的类,并且在我以后尝试使用它时仍然可以识别它?我想你定义了这个类并以某种方式使用自动加载器注册它,但是在阅读了自动加载器手册页之后,我仍然不明白该怎么做。
我的用例是在测试期间(不,在这种情况下我不想要模拟或存根)。我在测试脚本的顶部定义了一个新类,但是当我的应用程序代码引用该类时,autolader 会根据命名约定积极地加载它。
<?php
class Non_Conforming_Dummy_Class
{
}
// should I register this new class with the autoloader right here?
class Whatever
{
public function useIt()
{
$class = new Non_Conforming_Dummy_Class;
}
}
我得到一个寻找 Non/Conforming/Dummy/Class.php 的“没有这样的文件或目录”
【问题讨论】:
-
如果该类已在使用它的同一脚本中定义(如您的示例中所示),则没有理由运行自动加载器。如果确实发生了这种情况,请检查类名中的拼写错误。
标签: php zend-framework zend-autoloader