0
這是我目前的結構如果路徑不匹配文件夾結構,Symfony2類加載器不工作?
插件/
| ---的init.php
| ---/plugin1/lib中/
| ---/plugin2/lib目錄/
| ---/Symfony的/
我有這樣的代碼:
set_include_path(DIR_FS_CATALOG.'plugins');
require_once(DIR_FS_CATALOG.'plugins/Symfony/Component/ClassLoader/UniversalClassLoader.php');
// load the class loader and dependency injection component
$loader = new Symfony\Component\ClassLoader\UniversalClassLoader();
$loader->registerNamespaces(array('plugins\\plugin1' => __DIR__.'/plugins/plugin1/lib', 'plugins' => DIR_FS_CATALOG.'plugins'));
$loader->registerNamespace('Symfony',__DIR__.'/plugins');
$loader->register();
use plugins\plugin1\MyClass;
MyClass::init();
致命錯誤:類 '的插件\ plugin1 \ MyClass的' 未找到
我不知道我做了什麼錯?任何幫助將非常感激。
在http://symfony.com/doc/2.0/components/class_loader.html 有這個例子:[編輯]想不出郵編這裏,但如果你去的鏈接,看到主義的例子命名空間,你會看到我的意思 我不知道這是否意味着你可以有不同於文件結構的命名空間? – mr1031011 2012-01-14 04:13:07
假設你正在談論最後一個代碼塊,這是可行的,因爲它們告訴類加載器在哪裏查找類文件。所以如果你的'MyClass'在'/ plugin1/lib'目錄下,你必須顯式地註冊這個名字空間。但是你不能在同一個命名空間中從'/ plugin1'和'/ plugin1/lib'註冊類。 – prehfeldt 2012-01-16 08:23:04