Laravel – Где разместить тяжелую логику, от которой зависят службы?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Laravel – Где разместить тяжелую логику, от которой зависят службы?

Сообщение Anonymous »

У меня есть ситуация, когда у меня есть Службы, которые зависят от довольно сложной логики, которая не совсем вписывается в один и тот же файл Службы. Я хочу абстрагировать эту логику из файла Service, но также хочу переместить ее в место, которое кажется очевидным и не нарушает никаких соглашений Laravel.
Я хочу сохранить качество своего кода высокий, так как над этим проектом работает значительное количество людей, но этот Сервис уже имеет длину около 300 строк и не хочется добавлять к нему пару сотен дополнительных строк, но Сервис также зависит от примерно 500 строк дополнительной логики сейчас. Эти около 500 строк Logic также слишком тяжелые и большие, чтобы их можно было считать помощником, поскольку они обычно представляют собой более мелкие многоразовые функции, эта логика не подлежит повторному использованию, она очень специфична для этого Сервиса.
Я придумал несколько методов решения этой проблемы, главным образом создав папку «ServiceHelper» (имя-заполнитель) вне каталога служб Laravel и вставив туда логику в виде помощников. Я также просмотрел подсервисы и вспомогательные классы, но ни один из них, похоже, не соответствует именно тому, что я хочу.
Итак, в основном у меня есть следующее:

Код: Выделить всё

└── App
└── Services
├── MyService.php
└── MyServiceLogic.php
Моя идея папки «ServiceHelper» выглядела бы так:

Код: Выделить всё

└── App
├── ServiceHelper
│   └── MyServiceLogic.php
└── Services
└── MyService.php
Просто интересно, если кто-нибудь сталкивался с подобной ситуацией, мог бы дать совет о том, что они сделали. Возможно, это стандарт в Laravel, если у вас есть служба, которая зависит от дополнительной логики, которую вы создаете подслужбу или помощник службы внутри папки «Службы», но моя интерпретация такова, что папка «Службы» в основном содержит только код, предназначенный для повторно используемый и код, который не используется повторно, также не должен быть слишком тяжелым. Но на данный момент это также парадоксально, поскольку ни одно из решений меня не удовлетворяет.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -depend-on
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»