Как создаются отдельные обязанности в Symfony?

Этот вопрос немного сложно объяснить, но я буду стараться изо всех сил.

Скажем, я создаю сайт агрегатора добавления вакансий. Для этого у меня есть 10 рабочих мест, которые я буду сканировать, анализировать HTML
и получить все соки.

Теперь, так как каждый шаблон сайтов, URL и количество информации, которое они содержат, уникальны, что-то подсказывает мне часть сканирования
должны быть организованы отдельно.

Обычно я мог бы собрать все это в

class CrawlerController extends Controller {

public function fooDotComAction(){

}

public function barDotNetAction(){

}
}

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

Это кажется плохой практикой, я брожу, если есть какая-то особенность в Symfony, которая
обеспечивает реализацию или руководство для таких проблем.

-2

Решение

Ваш вопрос слишком широкий, но вы нашли шаблон проектирования, который будет соответствовать вашим потребностям, а затем примените его. Вам нужно будет создать класс php и объявить их как сервисы.

Symfony продвигает идеи сервис-ориентированной архитектуры и предлагает мощное решение для разделения интересов: Компонент внедрения зависимости. Короче говоря, этот компонент обеспечивает реализация сервисного контейнера: инструмент для настройки, привязки и создания отдельных сервисных объектов.

Ваш бизнес-код будет содержаться в доменных службах, а ваш контроллер просто организует ввод и вывод и вызовет доменные службы

0

Другие решения

проверять, выписываться https://codereviewvideos.com/blog/symfony-compiler-pass-tutorial/

и 2 связанных видео и объяснения. (1, 2)

он покажет вам, как вы можете, чистым способом, отделить каждый «сканер», используя службы с тегами и проход компилятора, который я считать был бы чистый способ сделать это.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector