Download the PHP package jrschumacher/modomo without Composer
On this page you can find all versions of the php package jrschumacher/modomo. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jrschumacher/modomo
More information about jrschumacher/modomo
Files in jrschumacher/modomo
Package modomo
Short Description Light, proxy centric, evented PHP ODM for MongoDB
License MIT
Homepage https://github.com/jrschumacher/modomo
Informations about the package modomo
THIS REPO IS NO LONGER MAINTAINED.
PLEASE USE https://github.com/purekid/mongodm
Modomo (mŏ-dŏ-mŏ)
Modomo is a lightweight, event based PHP MongoDB ODM
Designed for the benefits of ODMs (getters and setters, validation and helpers) while maintaining a quick development and low entry level. All the while proxying MongoDB Core PHP classes for direct access to the MongoDB driver; no custom routines here.
Features
- Basic ODM features
- Simple document classes
- Simple collection classes
- Validations
- Events and callbacks
- Direct access to MongoDB driver
Requirements
- PHP 5.3+
- MongoDB Driver
Installation
Manual
Extract the source files into a directory in your application library path. Either autoload or require all classes.
Composer
To add via Composer using Packagist[jrschumacher/modomo] add to your composer.json
Usage
Using Modomo is very simple. As a basic rule of thumb, if you use the Modomo\MongoClient() everything else will fall in place. Yet it isn't limited to that, at any point you can turn a Mongo Core Class object into a Modomo object.
Basic
Using MongoDM is as simple as declaring classes that are extensions of the base ODM class and specifying a namespace.
Configuration
Modomo supports some configuration for storing your collections and documents. This can simply be changed via Modomo\Config
class which has some static variables to help you out.
Warning: Due to it's dynamic nature it will change future states.
Namespaces
The namespace for the collections or documents may be changed via the $collecionNS
and $documentNS
variables. By default they resolve to \Collections
and '\Documents' respectively.
Note: use a double slash \\
when implementing a sub namespace
Class Names
The class names for collections and documents may be changed via the $collectionClass
and $documentClass
variables. By default they resolve to the name of the MongoDB collection in StudlyCaps
(see PSR-1)
A string replace is executed to provide more flexibility with your class names. Following is a list of supported patterns:
Other replacements will be added upon request and discussion
Notes:
mongo
is reserved for MongoDB related replacements
Document
CRUD Methods
Other Methods
Validators
Events / Callbacks
A number of events exist throughout Modomo. You can hook into these events by registering your callable method with your collection.
Event Hooks
- beforeCreate
- beforeCreateNew
- afterCreate
- afterCreateNew
- beforeSave
- beforeSaveNew
- afterSave
- afterSaveNew
- beforeValidation
- afterValidation
- beforeDestroy
In a new, save, destroy cycle, the validations are called in the following order:
beforeCreateNew -> afterCreateNew -> beforeValidation -> afterValidation -> beforeSaveNew -> afterSaveNew -> beforeDestroy