Download the PHP package giordanolima/eloquent-repository without Composer
On this page you can find all versions of the php package giordanolima/eloquent-repository. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download giordanolima/eloquent-repository
More information about giordanolima/eloquent-repository
Files in giordanolima/eloquent-repository
Package eloquent-repository
Short Description Repository pattern for Eloquent ORM with a powerfull cache for database queries.
License MIT
Informations about the package eloquent-repository
Eloquent Repository
Documentação em português.
Package to assist the implementation of the Repository Pattern using Eloquent ORM. The main feature is the flexibility and ease of use and a powerful driver for query caching.
Installation
Installing via Composer
To configure the package options, declare the Service Provider in the config / app.php
file.
If you are using version 5.5 or higher of Laravel, the Service Provider is automatically recognized by Package Discover.
To publish the configuration file:
Usage
To get started you need to create your repository class and extend the BaseRepository
available in the package. You also have to set the Model that will be used to perform the queries.
Example:
Now it is possible to perform queries in the same way as it is used in Elquent.
To use the class, just inject them into the controllers.
The injection can also be done in the constructor to use the repository in all methods.
The Eloquent/QueryBuilder methods are encapsulated as protected and are available just into the repository class. Declare your own public data access methods within the repository to access them through the controller.
Paginate
As default value, the paginate
method uses, 15 records per page. This default value can be set in the configuration file to be used in all repositories.
If necessary, you can change the default value for a single repository overwriting the perPage
property with the desired value.
OrderBy
You can declare a field and a default direction to be used for all queries in a particular repository. You can still choose other fields to sort or just skip the sorting methods.
GlobalScope
You can set a scope to use for all queries used in the repository. If necessary, you can also ignore this global scope.
Cache
The package comes with a powerful cache driver. The idea is that once the query is done, it will be cached. After the cache is done, it is possible to reduce the number of accesses to the database to zero. All caching is performed using the cache driver configured for the application. To use the driver, just use the trait that implements it.
Usage remains the same, with all cache management logic done automatically.
Everytime the database data is changed, the cache is automatically cleaned to avoid outdated data.
However, if it is necessary to clear the cache, it can be performed through the clearCache()
method.
You can also force access to the database and avoid cached data by using the skipCache()
method.
All versions of eloquent-repository with dependencies
illuminate/config Version >=5.1
illuminate/database Version >=5.1
illuminate/support Version >=5.1