PHPackages                             diosaputra/repository-generator-for-laravel - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. diosaputra/repository-generator-for-laravel

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

diosaputra/repository-generator-for-laravel
===========================================

Laravel package for generating repositories

v1.0.0(1y ago)016MITPHPPHP &gt;=8.0

Since Mar 14Pushed 1y ago1 watchersCompare

[ Source](https://github.com/DioSaputra28/repository-generator-for-laravel)[ Packagist](https://packagist.org/packages/diosaputra/repository-generator-for-laravel)[ RSS](/packages/diosaputra-repository-generator-for-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (4)Versions (2)Used By (0)

Repository Generator for Laravel
================================

[](#repository-generator-for-laravel)

[![Latest Stable Version](https://camo.githubusercontent.com/4119acbe9812d7f5ecc4fe38ad3c023666196f2b2e36080a30dd8c274b250678/68747470733a2f2f706f7365722e707567782e6f72672f64696f736170757472612f7265706f7369746f72792d67656e657261746f722d666f722d6c61726176656c2f762f737461626c65)](https://packagist.org/packages/diosaputra/repository-generator-for-laravel)[![Total Downloads](https://camo.githubusercontent.com/1509642953af519dd5ffb1759fe8716c6045d5ec7fc51a45c59a27f3114ee2ed/68747470733a2f2f706f7365722e707567782e6f72672f64696f736170757472612f7265706f7369746f72792d67656e657261746f722d666f722d6c61726176656c2f646f776e6c6f616473)](https://packagist.org/packages/diosaputra/repository-generator-for-laravel)[![License](https://camo.githubusercontent.com/0ab4db1be2f8aa8868f46817304a3d107457418578d4e02e2b0844e277b15d33/68747470733a2f2f706f7365722e707567782e6f72672f64696f736170757472612f7265706f7369746f72792d67656e657261746f722d666f722d6c61726176656c2f6c6963656e7365)](https://packagist.org/packages/diosaputra/repository-generator-for-laravel)

A Laravel package that provides an artisan command to easily generate repositories following the repository pattern, with support for multiple implementation types.

Features
--------

[](#features)

- Generate repositories with a simple artisan command
- Support for multiple repository types (Eloquent, Query Builder, API)
- Create repositories with or without interfaces
- Generate multiple repository implementations at once
- File existence validation to prevent overwriting
- Option to force overwrite existing files

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

[](#installation)

You can install the package via composer:

```
composer require diosaputra/repository-generator-for-laravel
```

The package will automatically register its service provider.

Usage
-----

[](#usage)

### Basic Usage

[](#basic-usage)

Generate a basic repository:

```
php artisan make:repository User
```

This will create a basic repository at `app/Repositories/UserRepository.php`.

### Generating with Type

[](#generating-with-type)

Generate a repository with a specific type:

```
php artisan make:repository User --type=eloquent
```

This will create:

- An interface at `app/Repositories/Interface/UserRepositoryInterface.php`
- An implementation at `app/Repositories/Eloquent/UserRepositoryEloquent.php`

### Multiple Types

[](#multiple-types)

Generate multiple repository implementations at once:

```
php artisan make:repository User --type=eloquent,query,api
```

This will create:

- An interface at `app/Repositories/Interface/UserRepositoryInterface.php`
- An eloquent implementation at `app/Repositories/Eloquent/UserRepositoryEloquent.php`
- A query builder implementation at `app/Repositories/Query/UserRepositoryQuery.php`
- An API implementation at `app/Repositories/Api/UserRepositoryApi.php`

### Force Overwrite

[](#force-overwrite)

Use the `--force` flag to overwrite existing files:

```
php artisan make:repository User --type=eloquent --force
```

Repository Structure
--------------------

[](#repository-structure)

The generated repositories will have the following structure:

### Basic Repository

[](#basic-repository)

```
