2

我看到不同的库(在本例中为 Symfony)的 phpunit bootstrap.php 代码通常包括以下内容:

spl_autoload_register(function ($class) {
    if (0 === strpos(ltrim($class, '/'), 'Symfony\Component\EventDispatcher')) {
        if (file_exists($file = __DIR__.'/../'.substr(str_replace('\\', '/', $class), strlen('Symfony\Component\EventDispatcher')).'.php')) {
            require_once $file;
        }
    }
});

我想知道在什么情况下类名会有前导斜杠?

4

1 回答 1

1

我不是 Symfony 方面的专家,但看起来他们正在使用文件名并尝试加载它,如果它具有命名空间Symfony\Component\EventDispatcher。ltrim ()简单地删除任何残留物,以便在它们添加自己的搜索路径时不会发生错误。

我只能猜测,但我很确定这是怎么回事。

于 2012-11-14T21:32:47.397 回答