faiverson/gateway-pattern

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Abstraction Layer to use repository/gateway pattern in Laravel 5.5 or higher

2.0.0 2017-12-28 23:28 UTC

This package is not auto-updated.

Last update: 2021-06-07 08:00:41 UTC


README

Build Status Total Downloads Latest Stable Version License

[![Coverage Status](https://coveralls.io/repos/github/faiverson/gateways/badge.svg?branch=master)](https://coveralls.io/github/faiverson/gateways?branch=master)

Gateways Installation

This package is a layer to interact between Controller and Model. If you want to create an abstraction layer to centralize all the queries in one class, instead of being adding models (eloquent queries) in a controller. What about to repeat that code in a command or observer or any other peace of the puzzle. This is where Gateways are handy! You only need to inject the Gateway dependency whereever you want.

  • Install the package Gateways using composer:
    composer require faiverson/gateway-pattern
  • Run the command:
    php artisan vendor:publish

Done!

How to Use

  • Go to the console and you can run:
    make:gateways:controller Create a new controller class make:gateways:full Create a new Repository class make:gateways:gateway Create a new Gateway class make:gateways:interface Create a new Interface class make:gateways:model Create a new Eloquent model class make:gateways:repository Create a new Repository class -Copy the line generated in your console into app/Providers/RepositoryServiceProvider.php e.g. $this->app->bind('App\Repositories\Interfaces\FooInterface', 'App\Repositories\FooRepository');

  • create your route

License

This package is open-sourced software licensed under the Apache license.