Download the PHP package nauxa-labs/laravel-repository-service without Composer
On this page you can find all versions of the php package nauxa-labs/laravel-repository-service. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nauxa-labs/laravel-repository-service
More information about nauxa-labs/laravel-repository-service
Files in nauxa-labs/laravel-repository-service
Package laravel-repository-service
Short Description A flexible Repository and Service pattern implementation for Laravel applications
License MIT
Informations about the package laravel-repository-service
Laravel Repository Service
A flexible Repository and Service pattern implementation for Laravel applications.
✨ Features
- 🎯 Flexible Service Pattern:
ServiceContractandBaseServiceare intentionally empty, allowing you to define methods with any signature - 📦 Standard Repository Pattern:
RepositoryContractandEloquentRepositoryprovide standard CRUD operations - 🚀 Artisan Commands: Generate repositories and services with
make:repositoryandmake:service - 🔍 Enhanced Query Methods:
findWhere(),findWhereIn(),paginate(),with(),firstOrCreate() - ⚡ Laravel Integration: Auto-discovery support via Service Provider
- ✅ Fully Tested: Comprehensive test suite with PHPUnit
Requirements
- PHP ^8.1
- Laravel ^10.0 or ^11.0
Installation
The package will be auto-discovered by Laravel. No additional configuration needed.
Quick Start
Generate a Repository
This creates:
app/Repositories/UserRepository.php(interface)app/Repositories/UserRepositoryImplement.php(implementation)
Generate a Service
This creates:
app/Services/UserService.php(interface)app/Services/UserServiceImplement.php(implementation)
Usage
Creating a Service
Creating a Repository
Available Methods
EloquentRepository
| Method | Description |
|---|---|
find($id) |
Find a record by ID |
findOrFail($id) |
Find a record by ID or throw exception |
findWhere(array $conditions) |
Find records matching conditions |
findWhereIn(string $column, array $values) |
Find records where column is in values |
all() |
Get all records |
paginate(int $perPage = 15) |
Paginate results |
create(array $attributes) |
Create a new record |
firstOrCreate(array $attributes, array $values = []) |
First or create pattern |
update($id, array $attributes) |
Update a record |
delete($id) |
Delete a record |
destroy(array $ids) |
Delete multiple records |
with(array\|string $relations) |
Set eager loading relations |
Eager Loading Example
BaseService
Empty by design - define your own methods!
Configuration
Publish the config to customize generator paths:
Customize paths in config/repository-service.php:
Auto-Binding
Enable automatic binding to skip manual registration:
Now just inject and use - no AppServiceProvider binding needed!
Publishing Stubs
You can publish the stubs to customize the generated code:
Testing
Contributing
Please see CONTRIBUTING.md for details.
Changelog
Please see CHANGELOG.md for a list of changes.
License
MIT License - see LICENSE file.
All versions of laravel-repository-service with dependencies
illuminate/console Version ^10.0|^11.0
illuminate/database Version ^10.0|^11.0
illuminate/support Version ^10.0|^11.0