Контейнер Symfony, метод регистрации против setdefinition - PullRequest
0 голосов
/ 24 декабря 2018

Какой смысл иметь эти два разных, но имеющих одинаковое значение методов.Предполагается ли использование 1 в другом месте или как?

В данный момент я смотрел видео knpuniversity и научился делать это с помощью setdefinition, нового определения способа в конфигурации.

public function register($id, $class = null)
{
    return $this->setDefinition($id, new Definition($class));
}

1 Ответ

0 голосов
/ 24 декабря 2018

Это просто синтаксис сахара .В Symfony обычно есть 3 способа сделать одно.

  1. Первый - это выполнить работу

    $this->register('SomeClass')
    
  2. секунды ясны и прямолинейны

    $this->setDefinition('SomeClass', new Definition('SomeClass'));
    
  3. Третий позволяет делать сложные вещи.

Я предпочитаю 1-й, поскольку в конечном итоге он часто ведет к еще более простому пути.

# services.yaml
services:
    App\:
        resource: ../src

Это зарегистрирует все услуги из /src каталога

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