我正在编写和测试一个可以多次实例化的ClassLoader组件,在类名及其相关路径之间具有各种映射。每个 ClassLoader 都应该作为特定包的加载器。
是否有一种简单、不显眼的方法来测试或模拟 ClassLoader 处理的文件的包含?
让我用一个最简单的加载器来澄清一下:
class TestTwoPackageLoader implements IPackageLoader
{
private $directory;
public function register()
{
spl_autoload_register(array($this, 'loadClass'));
$this->directory = dirname(__FILE__);
}
public function loadClass($class)
{
if (isset($this->classes[$class]))
include $this->directory.'/'.$this->classes[$class];
}
private $classes = array(
'SecClass' => 'test_two/SecClass.php',
'ThClass' => 'test_two/ThClass.php',
);
}