Xenus integration for the Laravel and Lumen frameworks

0.3 2021-03-02 17:01 UTC

This package is auto-updated.

Last update: 2021-09-30 18:42:43 UTC



This package integrates Xenus to the Laravel and Lumen frameworks (from version 5.8 up to the latest 8.0) :

  • Out of the box failed jobs and migrations integration
  • Ready to work event dispatcher

Xenus is a simple and elegant MongoDB ODM. Learn more : https://github.com/abellion/xenus


If you haven't already installed Xenus, and thus satisfied its requirement to the mongodb extension, make sure to install the extension before requiring this package : https://www.php.net/manual/en/mongodb.installation.php Once installed, require the package :

composer require abellion/xenus-laravel


An instance of the Xenus\Connection class will automatically be constructed and registered inside the service container for you. To do so, Xenus reads the connection's settings from your config/database.php file under the mongodb.connection key. It must at least contain the host and the database you wish to connect to :

    'mongodb' => [
        'connection' => [
            'host' => 'mongodb://localhost:27017',
            'database' => 'my_database'

Service provider

In order to configure your collections, that is linking them to the Laravel's event dispatcher and defining them as singleton inside the service container, you must create a service provider. This service provider must extend Xenus\Laravel\XenusServiceProvider and contain a $collections property holding your collections :

use Xenus\Laravel\XenusServiceProvider as ServiceProvider;

class XenusServiceProvider extends ServiceProvider
    protected $collections = [

Failed jobs and migrations

The failed jobs and migrations bridges come pre-configured and ready to work. If you want to change the default collections names they use, edit the following :

For the migrations :

// config/database.php

    'migrations' => 'my_migration_collection'

For the failed jobs :

// config/queue.php

    'failed' => [
        'collection' => 'my_failed_jobs_collection'


Xenus is licensed under the MIT license.