Download the PHP package pacerit/laravel-repository without Composer

On this page you can find all versions of the php package pacerit/laravel-repository. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-repository

Laravel Repository

Standalone repository pattern package for Laravel and Lumen framework.

GitHub tag (latest by date) GitHub Packagist PHP from Packagist StyleCI Build Status

Installation

You can install this package by composer:

composer require pacerit/laravel-repository

For more configuration, you can publish configuration file:

php artisan vendor:publish --provider "PacerIT\LaravelRepository\Providers\LaravelRepositoryServiceProvider"

Version compatibility

Laravel

Framework Package Note
5.8.x ^1.x.x No longer maintained.
6.0.x ^2.x.x Bug fixes only.
7.x.x ^3.x.x Bug fixes only.
8.x.x ^4.x.x PHP ^8.0 Supported from 4.1.0
9.x.x ^5.x.x

Lumen

Framework Package Note
5.8.x ^1.1.x No longer maintained.
6.0.x ^2.x.x Bug fixes only.
7.x.x ^3.x.x Bug fixes only.
8.x.x ^4.x.x PHP ^8.0 Supported from 4.1.0
9.x.x ^5.x.x

Implementation

To use Repositories, create repository class that:

For example, this is implementation of repository for Example entity:

ExampleRepositoryInterface:

ExampleRepository class. This class has to implement entity() method, that return namespace of entity that will be used by repository.

Using repositories

To use Repository in controller or other class you can use dependency injection or Container. Below is sample code of using service in controller.

Available methods

Additional methods (Laravel only)

Caching


Information: In order to use Caching feature in repository, you must use cache driver that support tags. Actually "file" and "database" drivers are not supported.

More information in in laravel documentation.


To use caching in CoreRepository implementation, simply add WithCache trait in your repository of choice. Trait will handle cache for methods:

You can user criteria with this functions, and results will be cached.

Repository automatically flush cache, when method create(), updateOrCreate(), update(), delete() is call.

Tag by user ID

By default repository cache adding actual authenticated user ID as tag. That provide possibility to separate cached data among users. That feature is useful for entities strictly associated to User (i.e. Account operation, Account details), when cached data will be flushed for each user separately - not for all repository, with save resources.

But for other entities (.i.e. Articles in CMS system), this solution can be annoying, so to disable this feature for selected repository call skipUserTag() method in __construct(). Example:

In some situation (i.e. in Jobs or Commands) you may want to manually update user data, and flush tagged cache for him. You can use setUserTag () function to manually set user ID for cache tag. To clear it use clearUserTag() function.

Skipping cache

To force fetch data from database, skipping cached data, use skipCache() method. Example:

Disable cache

To quick disable cache i.ex for debugging, set REPOSITORY_CACHE variable to false in .env

Changelog

Go to the Changelog for a full change history of the package.

Testing

composer test

Security Vulnerabilities

If you discover a security vulnerability within package, please send an e-mail to Wiktor Pacer via [email protected]. All security vulnerabilities will be promptly addressed.

License

This package is open-source software licensed under the MIT license.


All versions of laravel-repository with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
ext-json Version *
ext-libxml Version *
ext-simplexml Version *
illuminate/contracts Version ^9.0
illuminate/database Version ^9.0
illuminate/support Version ^9.0
illuminate/container Version ^9.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package pacerit/laravel-repository contains the following files

Loading the files please wait ....