Создание моей собственной библиотеки в Symfony 2 - PullRequest
1 голос
/ 10 февраля 2012

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

По сути, я хочу повторно использовать класс браузера 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

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

1 Ответ

2 голосов
/ 10 февраля 2012

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

$instance = new \Mylib_Test();

Дополнительная информация в документах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...