2017 © Pedro Peláez
 

library minibase-plugin-doctrine

Doctrine plugin for minibase. Integrates doctrine with Minibase.

image

pkj/minibase-plugin-doctrine

Doctrine plugin for minibase. Integrates doctrine with Minibase.

  • Tuesday, April 30, 2013
  • by peec
  • Repository
  • 1 Watchers
  • 0 Stars
  • 17 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Doctrine ORM for Minibase

Enables you to integrate Doctrine to Minibase., (*1)

Install

{
  "require":{
         "pkj/minibase-plugin-doctrine": "dev-master"
    }
}

Setup

Init the plugin, (*2)

$mb->initPlugins(array(
    'Pkj\Minibase\Plugin\DoctrinePlugin\DoctrinePlugin' => array(
        'metadata' => 'annotation', // yaml,xml or annotation.
        'entityDirs' => [__DIR__ . '/Models'], // Entity dirs.
        'proxyDir' => __DIR__ . '/cache/proxies', // Cached proxies
        'connection' => array(
            'driver' => 'pdo_sqlite',
                'path' => __DIR__ . '/db.sqlite',
        ),
        // Optional callback to configure the Configuration object.
        setupCallback: function () {
            // $this = Doctrine Configuration object instance.
        }
    )
));

Use in controllers

The plugin makes "em" available as a plugin in your MB app., (*3)

From any controller:, (*4)

Using the doctrine CLI

See the Minibase CLI documentation on how you generate a php file that can run commands., (*5)

This plugin injects All Doctrine Cli commands to the default minibase commands., (*6)

$this->mb->em->persist(new SomeModel());

Events

plugin:doctrine:entityDirs (array &$entityDirs)

Listen to this event to add more entity dirs. Useful for other plugins that requires this plugin. Note that $entityDirs is a reference., (*7)

plugin:doctrine:setup (Doctrine\ORM\Configuration $setup)

Listen to this event to configure the configuration for doctrine before entity manager is created., (*8)

Migrations

The best way to keep in track with production database is migrations., (*9)

Create migrations.xml where your cli.php binary is., (*10)

Add this (configure it yourself):, (*11)


<doctrine-migrations xmlns="http://doctrine-project.org/schemas/migrations/configuration"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://doctrine-project.org/schemas/migrations/configuration
                    http://doctrine-project.org/schemas/migrations/configuration.xsd">

    <name>App migrations</name>

    <migrations-namespace>app\migrations</migrations-namespace>

    <table name="doctrine_migration_versions" />

    <migrations-directory>app/migrations</migrations-directory>

</doctrine-migrations>

Create your first diff:, (*12)

php cli.php migration:diff

Excecute migrations:, (*13)

php cli.php migrations:migrate

The Versions

30/04 2013

dev-master

9999999-dev http://github.com/peec/minibase-plugin-doctrine

Doctrine plugin for minibase. Integrates doctrine with Minibase.

  Sources   Download

MIT

The Requires