Symfony 2 Bundle中的主文件有什么用途?
以下是文件的默认路径:
Project-> src-> BundleName-> BundleName.php
例如:
Symfony_Project / src / AppBundle / AppBundle.php
上述文件的内容始终为空白:
<?php
namespace AppBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AppBundle extends Bundle
{
}
答案 0 :(得分:1)
此文件可用于覆盖任何其他捆绑软件(您的应用程序捆绑软件/第三方捆绑软件)及其资源。您可以为给定的捆绑包设置父捆绑包。例如,您包含了FosUserBundle,并且您想要覆盖其某些操作/布局文件等。要实现此目的,请创建捆绑UserBundle.php。添加FosUserBundle作为其父对象,如下所示:
// src/UserBundle/UserBundle.php
namespace UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class UserBundle extends Bundle
{
public function getParent()
{
return 'FOSUserBundle';
}
}
替代控制器:
// src/UserBundle/Controller/RegistrationController.php
namespace UserBundle\Controller;
use FOS\UserBundle\Controller\RegistrationController as BaseController;
class RegistrationController extends BaseController
{
public function registerAction()
{
$response = parent::registerAction();
// ... do custom stuff
return $response;
}
}
然后在UserBundle目录结构中,您可以覆盖控制器/布局文件等。
有关更多信息,请参考以下链接:https://symfony.com/doc/2.8/bundles/inheritance.html