Download the PHP package trismegiste/strangelove-bundle without Composer

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

Strangelove

How I Learned to Stop Worrying about Doctrine and Love MongoDb BSON

A symfony bundle for stopping the chase after the mythical object-database, or its fake approximation a.k.a Doctrine.

MongoDb

A almost-zero-config Object Data Mapper for MongoDB. It's a micro database layer with automatic mapping that rely on BSON types. It is intended for advanced users of MongoDB who know and understand the growth of a model on a schemaless database.

When I mean "micro", I mean the sum of NCLOC is about one hundred. Therefore it is fast as hell.

Install

Include the bundle

You'll probably get an error at cache clearing since the config file does not exist yet.

Configure the bundle

Just run the wizard and answer the questions :

Create a Repository on a collection

Create a subclass of and extend it with business features.

Register the service

To register the repository class MyMovies on the collection 'movies' into the config file, just add :

How

Since you have atomicity on one document in MongoDB, you have to store complex tree-ish objects. If you avoid circular references, this ODM stores your object in a comprehensive structure into a MongoDB collection.

Every object has to implement one interface and use one trait :

The "top document" or the "root document", meaning the one who owns the primary key (a.k.a the field "_id" in MongoDB), must implement the interface Root and use the trait RootImpl.

Repositories

There is a default repository against a collection : .

Loading

Persisting

Searching

This class implements the interface Repository. Read the phpdoc about it.

Types

Please read the documentation about BSON serialization in MongoDB to know more : The MongoDB\BSON\Persistable interface

Performance

A thousand of complex objects that contain about a thousand embedded objects take 2.5 seconds to store on a cheap laptop. And it takes about 1.8 seconds to load and hydrate.

Internals

This ODM fully relies on BSON API for MongoDB. Your objects can be anything you want : no annotation, no constraint on constructor or extending some mandatory concrete class. Serialization and unserialization are made in the driver written in C, not PHP, that's why it is so fast.

Tests

This library is full tested with PHPUnit. Simply run :

A full functional test can be found in DefaultRepositoryTest.php.

Iterator

Currently, there is one Decorator for an Iterator object : . It is useful for decorating iterators on cursors created by MongoDB repositories (see above)

Code coverage

Code coverage configurations are included in the . Just run :

Html results are stored in ./docs/coverage.


All versions of strangelove-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >7.4
ext-mongodb Version >1.7
psr/log Version ^1.1
symfony/form Version ^5.4|6.*
symfony/config Version ^5.4|6.*
symfony/http-kernel Version ^5.4|6.*
symfony/dependency-injection Version ^5.4|6.*
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 trismegiste/strangelove-bundle contains the following files

Loading the files please wait ....