2012-02-10 4 views
1

Я пытаюсь создать свою собственную библиотеку в проекте Symfony2, но я с трудом делаю так ...создавая свою собственную библиотеку в Symfony 2

В основном я хочу, чтобы повторно использовать класс I FTP-браузер сделано для другого проекта.

Я скопировал класс в

/vendor/mylib 

и попытался автозагрузку его как то

$loader->registerPrefixes(array(
    'Twig_Extensions_' => __DIR__.'/../vendor/twig-extensions/lib', 
    'Twig_'   => __DIR__.'/../vendor/twig/lib', 
    'Mylib_'   => __DIR__.'/../vendor/mylib' 
)); 

Затем я попытался создать экземпляр объекта 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 

У кого-нибудь есть идея, как это сделать?

ответ

2

У вас, вероятно, есть namespace Test\FrontBundle\Controller; в вашем контроллере. Когда вы вызываете некоторый класс, php пытается найти его в указанном пространстве имен. Mylib_Test, очевидно, не входит в это пространство имен. Поэтому вы должны неявно указывать, что этот класс следует искать в глобальном пространстве имен. Для того, чтобы сделать это, вы должны PREPEND имя класса с обратной косой черты:

$instance = new \Mylib_Test(); 

Больше информации in docs

+0

спасибо за это! – titiyoyo