jakejames/automated-repositories

Generates a boilerplate repository pattern

1.0.1 2020-07-01 23:41 UTC

This package is auto-updated.

Last update: 2024-10-14 04:03:15 UTC


README

Latest Version on Packagist Build Status Total Downloads

This is a simple package for generating standard templates for the repository pattern.

Installation

You can install the package via composer:

composer require jakejames/automated-repositories --dev

Usage Laravel 5+

Publish the config file:

php artisan vendor:publish --tag=config

Run the following command:

php artisan make:repository { name }

We recommend using the following pattern for naming:

  • RegisterRepository
  • LoginRepository

This will use the word before 'Repository' as your contract name and service provider name

E.g 'LoginRepository' will generate the following files: LoginRepository, Login (contract), LoginServiceProvider

Once the files have been generated, the command will attempt to register the new service provider inside your config/app.php

Usage Lumen

Since lumen doesn't support publishing config files, you'll need to create your own config file called automatedRepositories this should contain the following:

return [
    'directory' => [
        'repositories' => 'App/Repositories',
        'contracts' => 'App/Contracts',
        'providers' => 'App/Providers'
    ]
];

Once you've added the config, it needs to be registered inside of app.php like so:

$app->configure('app');

The final step is to register the command inside of kernel.php

protected $commands = [
     MakeRepositoryCommand::class
];

Running Tests

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email jake@jump24.co.uk instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.