Какая польза от основного файла в Symfony 2 Bundle? - PullRequest
0 голосов
/ 08 октября 2018

Для чего нужен основной файл в 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
{
}
  1. Чтотакое использование этого файла в Symfony?
  2. Почему мы можем использовать этот файл?
  3. Это обязательно или нет?/ Можем ли мы удалить его?
  4. Почему он пуст?

1 Ответ

0 голосов
/ 08 октября 2018

Этот файл можно использовать для переопределения любого другого пакета (комплектов вашего приложения / сторонних комплектов) и его ресурсов.Вы можете установить родительский пакет для данного пакета.Например, у вас включен 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

...