我正在尝试在Symfony2项目中创建自己的库,但我很难这样做......
基本上我想重用我为另一个项目制作的FTP浏览器类。
我将课程复制到
/vendor/mylib
并试图像那样自动加载
$loader->registerPrefixes(array(
'Twig_Extensions_' => __DIR__.'/../vendor/twig-extensions/lib',
'Twig_' => __DIR__.'/../vendor/twig/lib',
'Mylib_' => __DIR__.'/../vendor/mylib'
));
然后我尝试在我的bundle的控制器中实例化一个Mylib_Test对象,我收到了这个错误:
Fatal error: Class 'Test\FrontBundle\Controller\Mylib_Test' not found in /Applications/MAMP/htdocs/sf2_project/src/Test/FrontBundle/Controller/WelcomeController.php on line 26
任何人都知道如何做到这一点?
答案 0 :(得分:2)
您的控制器中可能有namespace Test\FrontBundle\Controller;
。当你调用某些类时,php会尝试在指定的命名空间中找到它。 Mylib_Test显然不在该命名空间中。因此,您应该隐式指出应该在全局命名空间中查找此类。为此,您应该使用反斜杠前缀类名:
$instance = new \Mylib_Test();
更多信息in docs