kzykhys/doctrine-orm-service-provider

为 Silex 应用提供 Doctrine ORM

dev-master 2013-05-29 03:56 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:05:10 UTC


README

DoctrineORMServiceProvider 提供与 Doctrine ORM 的集成

安装

{
    "require": {
        "kzykhys/doctrine-orm-service-provider":"dev-master"
    }
}

参数

  • orm.cache.dir:存储 doctrine 缓存数据的缓存目录。
  • orm.entity.path:目录数组。
  • orm.proxy.dir:存储代理类的目录。
  • orm.proxy.namespace:每个代理类的命名空间。

服务

  • orm.em:Doctrine 的实体管理器,Doctrine\ORM\EntityManager 的实例。
  • orm.schema_toolDoctrine\ORM\Tools\SchemaTool 的实例。

使用方法

<?php

use Silex\Application;
use Silex\Provider\DoctrineServiceProvider;
use KzykHys\Silex\Provider\DoctrineORM\DoctrineORMServiceProvider;

$app = new Silex\Application();
$app->register(new DoctrineServiceProvider(), array(
    'db.options' => '...'
));
$app->register(new DoctrineORMServiceProvider(), array(
    'orm.cache.dir'       => __DIR__ . '/app/cache/doctrine/orm',
    'orm.entity.path'     => array(__DIR__ . '/path/to/entity_dir'),
    'orm.proxy.dir'       => __DIR__ . '/app/cache/doctrine/proxies',
    'orm.proxy.namespace' => 'Your\Namespace\Orm\Proxies'
));

$app->get('/new', function (Application $app) {
    $user = new User();

    $app['orm.em']->persist($user);
    $app['orm.em']->flush();
});