mahmoud-abdelhamid1 / laravel-pattern-generator
Generate Repository-Service-Controller patterns in Laravel
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/mahmoud-abdelhamid1/laravel-pattern-generator
Requires
- php: ^8.1|^8.2|^8.3
README
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