Download the PHP package maarsson/laravel-repository without Composer

On this page you can find all versions of the php package maarsson/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 model repository pattern

This package adds and extendable repository pattern to your Laravel project.

Though using repository pattern over Eloquent models may be an outworn idea, you can make your Laravel project code clean with a bunch of built-in functions of this package.

Installation

  1. Add package to your Laravel project: composer require maarsson/laravel-repository
  2. Publish config file php artisan vendor:publish --tag=repository-config

Usage

  1. Create repository to your existing Eloquent model: php artisan make:repository 'YourModel'.

  2. Add your model name to the config/repository.php:

  3. Use dependency injection in your code:

  4. Optionally you can add custom methods to the repository:

    and also to the interface class:

Methods

Retrieving entities

Retrieving all entities from the database

Retrieving entity by ID

Retrieving entities by a specific column

Retrieving the first or last entity (by its timestamp)

You can also specify which columns to be fetched

Retrieving the number of entities

Creating an entity

Updating an entity

Updating an entity by ID

Deleting an entity

Deleting an entity by ID

Mass-deleting entities by where closure

Paginating

Laravels paginating can be applied on queries, even combinated with other queries.

Getters: custom filtering and sorting

Entities can be easily filtered or sorted using getter classes. Filter keys and sorter methods in the request without matching function in the getter class will be ignored.

  1. Create getter class to your existing repository: php artisan make:getter 'YourModel'.

  2. Add the Maarsson\Repository\Traits\GetterableTrait trait to the model repository:

  3. Add the required filtering method(s) to the created YourModelGetter class. Filter method names must be camel cased and must end with Filter:

  4. Get the filtered collection using the filter[] parameter in the query

  5. Add the required sorting method(s) to the created YourModelGetter class. Sorter method names must be camel cased and must end with Sorter:

  6. Get the sorted collection using the sort_by parameter in the query

Simplified filtering, sorting and paginating

Get the filtered, sorted and paginated result by the helper methods.

The following request parameters are considered:

Attribute (and relation) filter

Using the attribute filter trait you can control the model attributes to be fetched, including the relations (and its attributes).

  1. Add the Maarsson\Repository\Traits\EloquentAttributeFilterTrait trait to the Eloquent model:

  2. Get full control of the appended attributes and relations using a simple dot-notated array passed to the withAttributes() method. In this example you can also see how to combine this with the pagination.

Using Eloquent Builder methods

Certain builder methods are available directly. Note using of the getter method at the end of the query.

Sophisticated where queries:

Ordering result:

Working with soft-deleted entities:

Working with relations:

Reaching native Eloquent builder:

Events

Events fired automatically in certain cases:

Create events

Update events

Delete events

Listeners

Event listeners automatically sets up for the events with the same naming conventions:

...and so on.

If a listeners handle() method of a before-event returns false it will prohibit the given action.

License

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


All versions of laravel-repository with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
laravel/framework Version ^9.0|^10.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 maarsson/laravel-repository contains the following files

Loading the files please wait ....