laravel-pattern-generator maintained by mahmoud-abdelhamid1
Description
Generate Repository-Service-Controller patterns in Laravel
Author
Last update
2026/01/09 00:12
(dev-main)
License
Downloads
0
Tags
Laravel Pattern Generator
Generate Repository-Service-Controller patterns in Laravel with a single command.
Features
- ✅ Automatic Controller, Service, Repository generation
- ✅ Interface-based architecture
- ✅ Form Request validation classes
- ✅ Module-based organization
- ✅ API Response trait included
- ✅ Exception handlers for consistent API responses
Installation
composer require mahmoudabdelhamid/laravel-pattern-generator
Usage
php artisan make:pattern {name} {module} --model={ModelName}
Examples
# Create Vacation pattern in HR module
php artisan make:pattern Vacation Hr --model=Vacation
# Create Employee pattern in HR module
php artisan make:pattern Employee Hr --model=Employee
# Create User pattern in Global module
php artisan make:pattern User Global --model=User
Generated Structure
app/
├── Http/Controllers/{Module}/
│ └── {Name}Controller.php
├── Services/{Module}/
│ ├── Interfaces/
│ │ └── {Name}ServiceInterface.php
│ └── {Name}Service.php
├── Repositories/{Module}/
│ ├── Interfaces/
│ │ └── {Name}RepositoryInterface.php
│ └── {Name}Repository.php
└── Http/Requests/{Module}/{Name}/
├── StoreRequest.php
└── UpdateRequest.php
Using ApiResponser Trait
use MahmoudAbdelhamid\PatternGenerator\Traits\ApiResponser;
class YourController extends Controller
{
use ApiResponser;
public function index()
{
$data = ['message' => 'Success'];
return $this->successResponse('success', $data);
}
public function error()
{
return $this->errorResponse('Something went wrong', 400);
}
}
Post-Generation Steps
- Create routes in
routes/api.php:
Route::apiResource('hr/vacations', VacationController::class);
- Ensure your model exists:
php artisan make:model Vacation -m
Requirements
- PHP ^8.1
- Laravel ^10.0 or ^11.0
License
MIT License
Author
Mahmoud Abdelhamid