Download the PHP package retentio/boomgo without Composer

On this page you can find all versions of the php package retentio/boomgo. 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 boomgo

Boomgo, a micro PHP ODM for MongoDB

Boomgo still a work in progress and is initially developped for Retentio

Boomgo is a light and simple Object Document Mapper on top of the MongoDB php native driver.

Build Status

Philosophy

Boomgo ODM focuses on the mapping process between PHP objects and MongoDB Documents, It doesn't abstract any feature provided by the native php driver. This way, Boomgo allows you to keep the full control about your MongoDB interactions (querying, map reduce, ...).

In short, Boomgo offers a handy way to manipulate your MongoDB Documents with PHP Objects.

Features

Boomgo generate Mappers for your php object, which allow you to:

Requirements

Boomgo was built with a lot of love (including best practices & standards). It will only work for PHP 5.3+ projects which use a structure matching PSR-0. Furthermore, composer usage is strongly encouraged.

Installation

Composer

First, in your composer.json, add the requirement line for Boomgo.

Then get composer and run the install command.

Usage

At the moment, Boomgo supports only annotation definition. Yet it uses only a single tag: by default "@Persistent" (you can change it). To persist some attributes of your model, Boomgo needs 3 things :

  1. A dedicated & unique namespace part for your persisted classes (default "Document").
  2. The "@Persistent" tag in the property docblock.
  3. Getter & Setter for this property.

Simple persistence

Then, you can generate your mapper with the command (if you used composer):

Boomgo will generate (default: aside of your documents folder) a mapper class called VendorName\Project\Mapper\MyPersistedClassMapper. The mapper exposes 3 methods:

Then, the usage becomes really simple:

Advanced persistence

Boomgo handles native PHP Mongo types (MongoId, etc.), embedded documents and nested collections. Since, Boomgo love simple & efficient things, annotation are not used for that. Instead it rely on... docblock with the famous under-used @var tag.

After mapper generation, usage is almost the same and stay explicit, Boomgo doesn't hide magic.

To see the full list of supported type/pseudo type in the @var tag you can look at Boomgo\Builder\Definition Note that Boomgo won't cast or validate anything, it's only used in the mapping process for normalization & nested documents/collections.

Limitations

If you're looking for full-featured php ODM, you should look at Mandango which use active record/class generator implementation, and also Doctrine MongoDB ODM data-mapping implementation.

Known issues

Roadmap

Feel free to contribute !

How to run unit tests

Boomgo is unit tested with atoum, the dependency is not shipped by default, with composer you have to run the command

To run the complete test suite, open a shell and type :

Want to test on a single class while contributing ? Here is an example with AnnotationParser class :

Framework integration

Boomgo already have integration for:

Credits

Boomgo was built thanks to many open source projects & some awesome guys:


All versions of boomgo with dependencies

PHP Build Version
Package Version
Requires php Version >=5.3.2
symfony/finder Version dev-master
symfony/console Version dev-master
cedriclombardot/twig-generator Version dev-master
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 retentio/boomgo contains the following files

Loading the files please wait ....