PHPackages                             timwassenburg/laravel-repository-generator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. timwassenburg/laravel-repository-generator

ActiveLibrary[CLI &amp; Console](/categories/cli)

timwassenburg/laravel-repository-generator
==========================================

Generate Laravel repositories

v1.0.3(3y ago)2116.9k—6.9%5[2 PRs](https://github.com/timwassenburg/laravel-repository-generator/pulls)1MITPHP

Since Oct 7Pushed 1y ago1 watchersCompare

[ Source](https://github.com/timwassenburg/laravel-repository-generator)[ Packagist](https://packagist.org/packages/timwassenburg/laravel-repository-generator)[ Docs](https://github.com/timwassenburg/laravel-repository-generator)[ RSS](/packages/timwassenburg-laravel-repository-generator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (4)Versions (7)Used By (1)

[![Logo](img/banner.png)](img/banner.png)

[![Latest Version on Packagist](https://camo.githubusercontent.com/2aacf4eab4ea585fd378a088182220152ebe6952edbf0a895166443550434e61/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f74696d77617373656e627572672f6c61726176656c2d7265706f7369746f72792d67656e657261746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/timwassenburg/laravel-repository-generator)[![GitHub Tests Action Status](https://camo.githubusercontent.com/911260d62506517ba83d1f6234d67c396130068e41a9231a801c8771b4dd1373/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f74696d77617373656e627572672f6c61726176656c2d7265706f7369746f72792d67656e657261746f722f72756e2d74657374732e796d6c3f6272616e63683d6d6173746572266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/timwassenburg/laravel-repository-generator/actions?query=workflow%3Arun-tests+branch%3Amaster)[![Total Downloads](https://camo.githubusercontent.com/e91181344d1c0bc3974f47544af44ba0b372f00e0da5f8c60fc7f730fc370afd/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f74696d77617373656e627572672f6c61726176656c2d7265706f7369746f72792d67656e657261746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/timwassenburg/laravel-repository-generator)[![License](https://camo.githubusercontent.com/6d6f9d0ae090865970c3fab39913767d7079f95e83b1a5140718728cb31b98c3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f74696d77617373656e627572672f6c61726176656c2d7265706f7369746f72792d67656e657261746f72)](https://packagist.org/packages/timwassenburg/laravel-repository-generator)

---

Table of Contents
-----------------

[](#table-of-contents)

1. [Features](#features)
2. [Getting started](#getting-started)
    - [Installation](#installation)
    - [Publish config (optional)](#publish-config-(optional))
3. [Usage](#usage)
    - [Generating repositories](#generating-repositories)
    - [Dependency Injection](#dependency-injection)
4. [Manual binding](#manual-binding)
5. [Testing](#testing)
6. [More generator packages](#more-generator-packages)
7. [Contributing](#contributing)
8. [License](#license)

Features
--------

[](#features)

With this package you can generate repositories with the `artisan make:repository` command. The generator will generate the repository, repository interface and will bind them automatically (can be changed to manual binding) to the Service Container so you can inject the interface into your controllers.

Installation
------------

[](#installation)

Require the Laravel Repository Generator with composer.

```
composer require timwassenburg/laravel-repository-generator --dev
```

### Publish config (optional)

[](#publish-config-optional)

```
php artisan vendor:publish --provider="TimWassenburg\RepositoryGenerator\RepositoryGeneratorServiceProvider" --tag="config"
```

Usage
-----

[](#usage)

For usage take the following steps. Generate the repository and then inject it into a controller or service.

### Generating repositories

[](#generating-repositories)

Run the following command.

```
php artisan make:repository UserRepository
```

This example will generate the following files:

```
app\Repositories\Eloquent\UserRepository
app\Repositories\UserRepositoryInterface
```

### Dependency Injection

[](#dependency-injection)

Next we have to inject the interface into the constructor our controller or service. For this example we will use the UserController.

```
