mongator / laravel by mcuadros

Provider to use Mongator with Laravel framework
4
0
3
Package Data
Maintainer Username: mcuadros
Maintainer Contact: mcuadros@gmail.com (Máximo Cuadros)
Package Create Date: 2013-05-17
Package Last Update: 2013-07-02
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-17 15:05:48
Package Statistics
Total Downloads: 4
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

Mongator Laravel4 Provider Build Status

Provider for using Mongator with Laravel 4 framework

Requirements

  • PHP 5.3.x
  • Laravel 4
  • mongator/mongator

Installation

Add mongator/laravel to your composer requirements, you can see the package information on Packagist.:

{
    "require": {
        "mongator/laravel": "dev-master"
    }
}

Now, run composer update

Once the package is installed, open your app/config/app.php configuration file and locate the providers key. Add the following line to the end:

    ...
    'Mongator\Laravel\MongatorServiceProvider',
    ...

Next, locate the aliases key and add the following lines:

    ...
    'Mondator'        => 'Mongator\Laravel\Facades\Mondator',
    'Mongator'        => 'Mongator\Laravel\Facades\Mongator',
    ...

Now just create a YAML config classes dir at your app folder:

mkdir app/schema/

Parameters

  • connection_dsn (default 'mongodb://localhost:27017'): database connection string
  • connection_database: the database name
  • connection_name (default 'default'): the name of the connection
  • models_output (default 'app/models/'): output path of the classes
  • models_input (default 'app/schema/'): A valid dir with YAML definitions of the config classes
  • metadata_class: The metadata factory class name
  • logger (default false): enable the query logger
  • extensions (default Array()): array of extension instances

Usage

Route::get('/view', function() { 
    $articleRepository = Mongator::getRepository('Article');
    $article = $articleRepository->findOneById($id);

    return View::make($article);
});
Route::get('/create', function() { 
    $article = Mongator::create('Article');
    $article->setAuthor('John Doe');
    $article->setTitle('Lorem ipsum dolor sit amet, consectetur adipisicing elit.')
    $article->save();
});

Remember, before using the models you must generate them. (You can use the command provided with this package.)

Commands

With this package you can find three useful commands, thought php artisan:

  • mongator:generate: Processes config classes and generates the files of the classes.
  • mongator:_indexes: Ensures the indexes of all repositories
  • mongator:fix: Fixes all the missing references.

Tests

Tests are in the tests folder. To run them, you need PHPUnit. Example:

$ phpunit --configuration phpunit.xml.dist

License

MIT, see LICENSE