Download the PHP package mike-zange/laravel-entity-base-repositories without Composer
On this page you can find all versions of the php package mike-zange/laravel-entity-base-repositories. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mike-zange/laravel-entity-base-repositories
More information about mike-zange/laravel-entity-base-repositories
Files in mike-zange/laravel-entity-base-repositories
Package laravel-entity-base-repositories
Short Description Simple base repositories for Laravel's Eloquent ORM, this packages abstracts the base Model functions and adds a caching decorator
License MIT
Informations about the package laravel-entity-base-repositories
Description
Simple base repositories for Laravel's Eloquent ORM, this packages abstracts the base Model functions and adds a caching decorator.
Caching is handled automatically if you have selected a caching method that allows tagging and cache is enabled in the config.
Requirements
PHP ^7.1.3
Installation
-
As always: back up your database - I am not responsible for any data loss
-
Install the package via Composer:
composer require mike-zange/laravel-entity-base-repositories
-
The service provider is auto-loaded in Laravel >= 5.5
-
Publish the configuration file
repository.php
php artisan vendor:publish --provider="MikeZange\LaravelEntityRepositories\Providers\RepositoryServiceProvider"
-
You can create a repository using the following command
php artisan generate:repository {entity}
This will create the Contract, Eloquent and Cache decorator for the entity.
app/Repositories/UserRepository.php
app/Repositories/Eloquent/EloquentUserRepository.php
app/Repositories/Cache/CacheUserRepository.php
Customise the generated files with:
Change the namespace, default: "App\Repositories":
php artisan generate:repository {entity} --s App\\New\\Namespace
Change the repository name, default: "{entity}Repository":
php artisan generate:repository {entity} --r NewRepoName
Will generate:
NewRepoName
app/Repositories/NewRepoName.php
app/Repositories/Eloquent/EloquentNewRepoName.php
app/Repositories/Cache/CacheNewRepoName.php
-
Edit the config at
config/repository.php
to your requirements, the defaults should be okay for most uses, but you need to specify your repositories, for example: - You can now type-hint your repositories in your controllers:
Manually create a repository
-
Create a contract for your repository:
-
Create an Eloquent Repository for your Model:
-
Create a Cache Decorator for your Repository:
-
Edit the config at
config/repository.php
to your requirements, the defaults should be okay for most uses, but you need to specify your repositories, for example: - You can now type-hint your repositories in your controllers: