1

現在使用している SplAutoloading im から Symfonies オートローダーへのアプリケーションの移行をテストしています。

私のアプリケーション構造は

> Components
> Models
    > Core
        Test.php
Index.php

私のTest.phpはこのようなものです

namespace Core;

class Test {    
}

私のindex.phpにロードしようとしています

define('__WEB_ROOT__', __DIR__);

//Symfony Class Loader
require_once __WEB_ROOT__ . '/Components/ClassLoader/UniversalClassLoader.php';

use Symfony\Component\ClassLoader\UniversalClassLoader;

$oLoader = new UniversalClassLoader();
$oLoader->registerNamespaces(
array(
    'Core' => __WEB_ROOT__ . '/Models/Core/'
)
);
$oLoader->register();

use Core\Test;

$oTest = new Test();

このようにクラスをロードできない理由がわかりませんか? 何か助けはありますか?ここでの正しい使い方は何ですか

4

1 に答える 1

0

設定されたファイル パスには名前空間名を含めないでください。したがって、Core\Testが にある場合は、名前空間を に__WEB_ROOT__/Models/Core/Test.php登録する必要があります。Core__WEB_ROOT__/Models

$oLoader->registerNamespaces(array(
    'Core' => __WEB_ROOT__ . '/Models/',
));
于 2014-04-12T17:18:49.817 に答える