Где лучше всего проверить длинную логику в Laravel? - PullRequest
0 голосов
/ 24 июня 2019

У меня длинная логика для проверки совместимости заказанных продуктов.и эта логика нужна в двух контроллерах.Поэтому я хочу поместить этот фрагмент кода куда-нибудь.

Является ли это хорошей идеей поместить эту логику в OrderRepository, пока я хочу следовать шаблону репозитория?если это не так, где лучшее место?

вот метод создания заказа в OrderRepository:

/**
 * Create the order
 *
 * @param array $params
 * @return Order
 * @throws OrderInvalidArgumentException
 */
public function createOrder(array $params) : Order
{
    try {
        $order = $this->create($params);

        $orderRepo = new OrderRepository($order);
        $orderRepo->buildOrderDetails(Cart::content());

        // Check the compatibility here

        event(new OrderCreateEvent($order));

        return $order;
    } catch (QueryException $e) {
        throw new OrderInvalidArgumentException($e->getMessage(), 500, $e);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...