0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: symfony, сервисы, автомонтирование</p>
1
<p>Теги: symfony, сервисы, автомонтирование</p>
2
<p>Любая часть работы, которая проделывается в Symfony, выполняется объектом. Например, объект Логгер выполняет логирование, а объект Twig отвечает за отображение шаблонов. Эти объекты называют сервисами.</p>
2
<p>Любая часть работы, которая проделывается в Symfony, выполняется объектом. Например, объект Логгер выполняет логирование, а объект Twig отвечает за отображение шаблонов. Эти объекты называют сервисами.</p>
3
<p>Выше -- лишь часть полного списка. А по мере добавления пакетов, данный перечень будет расти.</p>
3
<p>Выше -- лишь часть полного списка. А по мере добавления пакетов, данный перечень будет расти.</p>
4
<h2>Создание сервисов</h2>
4
<h2>Создание сервисов</h2>
5
<p>Используя<strong>Symfony</strong>, вы можете создавать собственные сервисы - это поможет сделать код более упорядоченным. Допустим, вы желаете сгенерировать какое-нибудь случайное приветствие (к примеру, "Hey", "Yo", "Aloha" и т. п.). Соответствующий код совсем необязательно помещать напрямую в контроллер. Вместо этого создайте новый класс:</p>
5
<p>Используя<strong>Symfony</strong>, вы можете создавать собственные сервисы - это поможет сделать код более упорядоченным. Допустим, вы желаете сгенерировать какое-нибудь случайное приветствие (к примеру, "Hey", "Yo", "Aloha" и т. п.). Соответствующий код совсем необязательно помещать напрямую в контроллер. Вместо этого создайте новый класс:</p>
6
<p>И теперь у вас появилась возможность использовать это в контроллере незамедлительно:</p>
6
<p>И теперь у вас появилась возможность использовать это в контроллере незамедлительно:</p>
7
<p>В результате<strong>Symfony</strong>инстанциирует<strong>GreetingGenerator</strong>, а потом передаст его в качестве аргумента, при этом все произойдет автоматически. Возникает вопрос: можно ли точно так же перемещать в GreetingGenerator логику логгера? Ответ - да. У разработчика существует возможность использовать<strong>автомонтирование</strong>внутри сервиса, что позволит получить доступ и к другим сервисам. Правда, следует учесть, что все выполняется в<strong>конструкторе</strong>:</p>
7
<p>В результате<strong>Symfony</strong>инстанциирует<strong>GreetingGenerator</strong>, а потом передаст его в качестве аргумента, при этом все произойдет автоматически. Возникает вопрос: можно ли точно так же перемещать в GreetingGenerator логику логгера? Ответ - да. У разработчика существует возможность использовать<strong>автомонтирование</strong>внутри сервиса, что позволит получить доступ и к другим сервисам. Правда, следует учесть, что все выполняется в<strong>конструкторе</strong>:</p>
8
<p>И это работает: никакой конфигурации, да и время сэкономлено.</p>
8
<p>И это работает: никакой конфигурации, да и время сэкономлено.</p>
9
<p><em>По материалам https://symfony.com/.</em></p>
9
<p><em>По материалам https://symfony.com/.</em></p>
10
10