PHPackages                             jaikumar0101/laravel-repo-facade-builder - 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. jaikumar0101/laravel-repo-facade-builder

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

jaikumar0101/laravel-repo-facade-builder
========================================

Laravel package for creating repositories, facades, enums, and other OOP containers using artisan commands

v1.0.2(4mo ago)124MITPHPPHP ^8.1|^8.2|^8.3CI failing

Since Feb 2Pushed 4mo agoCompare

[ Source](https://github.com/Jaikumar0101/laravel-repo-facade-builder)[ Packagist](https://packagist.org/packages/jaikumar0101/laravel-repo-facade-builder)[ RSS](/packages/jaikumar0101-laravel-repo-facade-builder/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (3)Dependencies (4)Versions (4)Used By (0)

Laravel Repo Facade Builder
===========================

[](#laravel-repo-facade-builder)

A Laravel package that provides convenient Artisan commands for creating repositories, facades, enums, interfaces, and traits with proper namespace support and subfolder handling.

Features
--------

[](#features)

- 🚀 **Repository Pattern**: Create repositories with interfaces
- 🎭 **Facades**: Generate Laravel facade classes
- 📋 **Enums**: Create PHP 8.1+ enum classes with backing types
- 🔌 **Interfaces**: Generate interface files
- 🧩 **Traits**: Create reusable trait files
- ⚙️ **Services**: Generate service classes
- 📁 **Subfolder Support**: All commands support nested folder structures
- ✨ **Auto-namespace**: Automatically handles namespaces based on folder structure

Requirements
------------

[](#requirements)

- PHP 8.1 or higher
- Laravel 10.x or 11.x

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

[](#installation)

Install the package via Composer:

```
composer require jaikumar0101/laravel-repo-facade-builder
```

The service provider will be automatically registered via Laravel's package discovery.

Usage
-----

[](#usage)

### Make Repository

[](#make-repository)

Create a repository with its interface:

```
php artisan make:repository User
# or
php artisan make:repo User
```

This creates:

- `app/Repositories/UserRepositoryInterface.php`
- `app/Repositories/UserRepository.php`

**With subfolders:**

```
php artisan make:repository Accounting/Bill/CreditNote
```

This creates:

- `app/Repositories/Accounting/Bill/CreditNoteRepositoryInterface.php`
- `app/Repositories/Accounting/Bill/CreditNoteRepository.php`

### Make Facade

[](#make-facade)

Create a Laravel facade:

```
php artisan make:facade Payment
```

This creates:

- `app/Facades/Payment.php`

**With subfolders:**

```
php artisan make:facade Services/Payment
```

This creates:

- `app/Facades/Services/Payment.php`

### Make Enum

[](#make-enum)

Create an enum class:

```
php artisan make:enum Status
```

**With backing type:**

```
php artisan make:enum Status --type=string
php artisan make:enum Priority --type=int
```

This creates:

- `app/Enums/Status.php`

**With subfolders:**

```
php artisan make:enum Constants/OrderStatus --type=string
```

This creates:

- `app/Enums/Constants/OrderStatus.php`

### Make Interface

[](#make-interface)

Create an interface:

```
php artisan make:interface PaymentGateway
```

This creates:

- `app/Interfaces/PaymentGatewayInterface.php`

**With subfolders:**

```
php artisan make:interface Contracts/Payment/Gateway
```

This creates:

- `app/Interfaces/Contracts/Payment/GatewayInterface.php`

### Make Trait

[](#make-trait)

Create a trait:

```
php artisan make:trait HasUuid
```

This creates:

- `app/Traits/HasUuid.php`

**With subfolders:**

```
php artisan make:trait Concerns/HasSlug
```

This creates:

- `app/Traits/Concerns/HasSlug.php`

### Make Service

[](#make-service)

Create a service class:

```
php artisan make:service User
```

This creates:

- `app/Services/UserService.php`

**With subfolders:**

```
php artisan make:service Payment/Stripe/StripePayment
```

This creates:

- `app/Services/Payment/Stripe/StripePaymentService.php`

Examples
--------

[](#examples)

### Complete Repository Pattern Example

[](#complete-repository-pattern-example)

```
# Create a user repository
php artisan make:repository User
```

Generated files:

**UserRepositoryInterface.php:**

```
