-1

我对 Symfony2 类加载器组件有疑问。

启动代码:

    require_once("vendor/autoload.php");

    use Symfony\Component\ClassLoader\UniversalClassLoader;

    $loader = new UniversalClassLoader();

    $loader->registerNamespace('MyClass', 'src');
    $loader->useIncludePath(true);
    $loader->register();

我的文件夹结构:

-src
--->MyClass
------->MyClass1.php (MyClass\MyClass1)
------->MyClass2.php (MyClass\MyClass2)

如果我尝试包含一个类,则不会加载该类,例如:

use MyClass\SimpleClass1;
$SimpleClass1 = new MyClass\SimpleClass1\Class1();

但如果我使用方法 loadClass() 工作:

$loader->loadClass("MyClass\\SimpleClass1");
use MyClass\SimpleClass1;
$SimpleClass1 = new MyClass\SimpleClass1\Class1();
4

1 回答 1

1

在您的第一个示例中,您使用 MyClass\SimpleClass1\Class1。该类的配置路径是src/MyClass/SimpleClass1/Class1.php,但不存在。(顺便说一句,use 语句在那里没用)

您的第二个示例显示 MyClass\SimpleClass1,如您所见,它与您的第一个示例不同。

于 2014-02-12T23:12:59.870 回答