• Где размещать логику в Laravel?

    dmitriylanets
    @dmitriylanets
    веб-разработчик
    направление верное
    в данному примере SelectUsers это солянка из
    это UserRepository и PurchaseRepository
    по принципу единственной ответсвенности нужно разнести по этим двум классам

    соответсвенно контроллер будет
    class TestController extends Controller
    {
     protected $purchaseRepository;
       public function __construct(PurchaseRepositoryInterface $purchaseRepository){
    $this->purchaseRepository = $purchaseRepository;
       }
        public function index()
        {
            $purchase = $this->purchaseRepository->selectpurchase(2);
            dump($purchase);
        }
    }


    по организации бизнес логики, можно в сервисы, но опять же эти сервисы удобно сформировывать от use cases а не от сущностей, поэтому формируются такие классы и методы:
    Shopping->addItemToShoppingCart()
    Shopping->remoteItemFromShoppingCart()
    Shopping->checkout()
    Searching->searchByAuthor()
    Searching->advancedSearch()

    или же на каждое действие свой класс, паттерн команда
    Shopping/AddItemToShoppingCart
    Shopping/RemoteItemFromShoppingCart
    Ответ написан
    1 комментарий