如何在Symfony2中安装或集成软件包

RON*_*ONE 1 symfony

我已经下载了一个奏鸣曲管理员包,并且已经放入/var/www/Symfony/vendor/symfony/src/Symfony/Bundle,并且已经输入了AppKernel.phpas $bundles = array( ... new Symfony\Bundle\SonataAdminBundle\SonataAdminBundle(),),但是抛出了一个错误

致命错误:第21行的/var/www/Symfony/app/AppKernel.php中找不到类'Symfony\Bundle\SonataAdminBundle\SonataAdminBundle'调用堆栈:0.0001 326332 1. {main}()/ var/www/Symfony/web/app_dev.php:0 0.0122 1121592 2. Symfony\Component\HttpKernel\Kernel-> handle()

请帮助我,因为我是symfony 2的新手.作为一个整体,请提供一个链接或详细信息,如如何安装/配置下载的任何捆绑.谢谢Ravi.M

Ond*_*ták 5

首先,SonataAdminBundle生活在Sonata命名空间,而不是Symfony.因此,您必须将实例化重写app/AppKernel.php为:

new Sonata\AdminBundle\SonataAdminBundle()
Run Code Online (Sandbox Code Playgroud)

您还必须在以下位置注册名称空间app/autoload.php:

$loader->registerNamespaces(array(
...
'Sonata' => __DIR__.'/path/to/parent/of/Sonata/folder'
...
));
Run Code Online (Sandbox Code Playgroud)


Pie*_*rre 5

您需要将捆绑包移动到

/var/www/Symfony/vendor/bundles
Run Code Online (Sandbox Code Playgroud)

然后在AppKernel.php中添加

new Sonata\AdminBundle\SonataAdminBundle(),
Run Code Online (Sandbox Code Playgroud)

在你的$ bundles数组中.

在autoload.php中添加

'Sonata'           => __DIR__.'/../vendor/bundles',
Run Code Online (Sandbox Code Playgroud)

$loader->registerNamespaces阵列