Download the PHP package nilportugues/mongodb-repository without Composer

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

MongoDB Repository

PHP7 Tested Build Status SensioLabsInsight Latest Stable Version Total Downloads License Donate

MongoDB Repository library aims to reduce the time spent writing repositories. MongoDB Repository using nilportugues/repository as foundation using mongodb/mongodb.

Motivation for this library was the boredom of writing MongoDB to do the same thing over and over again in multiple projects.

MongoDB Repository allows you to fetch, paginate and operate with data easily without adding overhead and following good practices.

Table of Contents

Features

Installation

Use Composer to install the package:

Usage

Show me the code

See the /example directory. Examples for both Custom ID and AutoIncremental ID are provided.

Explanation

You're good to go.

--

Mapping

Mapping must implement the Mapping interface.

Mapping classes are used to read data from entities and save them in the storage of choice. This is done by mapping the Entities fields and specifying which fields and how are actually stored in the data storage.

For complex objects, let's say an Entity that has a Value Object, it is possible to still do one single mapping on the Entity and access the Value Object properties to get them stored.

Mappings are also used to hydrate data into it's entities again if the hydrator trait is used.

Entity class

Remember, an Entity must implement the Identity interface to work with MongoDBRepository. This Entity can be any class of yours.

Mapping class

All methods from Mapping interface are mandatory.

Mapping the Repository

Finally, it's usage is straight-forward:


Repository

The repository class implements all the methods required to interact and filter your data.

MongoDBRepository can handle all CRUD operations by default by extending the MongoDBRepository class.

If you're not into CRUD, you can also have read-only, write-only and pagination-only repositories:

Methods

Available in MongoDBRepository

All the methods listed under MongoDBWriteRepository, MongoDBReadRepository and MongoDBPageRepository.

Available in MongoDBWriteRepository

Available in MongoDBReadRepository

Available in MongoDBPageRepository


Data Operations

All data can be extracted by fields name, using filters, applying ordering and pages, capable of applying fields, filters and ordering criteria.

Fields

Selecting by field will make hydratation fail. Currently partial object hydratation is not supported.

Class: NilPortugues\Foundation\Domain\Model\Repository\Fields

Methods:

Filtering

Class: NilPortugues\Foundation\Domain\Model\Repository\Filter

Methods:

For must(), mustNot() and should(), the methods available are:

Pagination

Pagination is handled by two objects, Pageable that has the requirements to paginate, and Page that it's actually the page with the page data, such as page number, total number, and the data.

Pageable

Class: NilPortugues\Foundation\Domain\Model\Repository\Pageable

Methods:

Page object

Class: NilPortugues\Foundation\Domain\Model\Repository\Page

Methods:

Sorting

Class: NilPortugues\Foundation\Domain\Model\Repository\Sort

Methods:

Ordering

Sometimes you want to sort by multiple fields, this is where Order comes in play.

Class: NilPortugues\Foundation\Domain\Model\Repository\Order

Methods:

--

Quality

To run the PHPUnit tests at the command line, go to the tests directory and issue phpunit.

This library attempts to comply with PSR-1, PSR-2, PSR-4.

If you notice compliance oversights, please send a patch via Pull Request.

Contribute

Contributions to the package are always welcome!

Support

Get in touch with me using one of the following means:

Authors

License

The code base is licensed under the MIT license.


All versions of mongodb-repository with dependencies

PHP Build Version
Package Version
Requires mongodb/mongodb Version ^1.0
nilportugues/repository Version ^3.0.2
nilportugues/serializer Version ^1.1
nilportugues/assert Version ^1.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 nilportugues/mongodb-repository contains the following files

Loading the files please wait ....