pkj / minibase-plugin-doctrine
minibase的Doctrine插件。集成Doctrine与Minibase。
dev-master
2013-04-30 01:45 UTC
Requires
- php: >=5.4.0
- doctrine/migrations: dev-master
- doctrine/orm: 2.*
- minibase/minibase: dev-master
This package is auto-updated.
Last update: 2024-08-29 03:31:20 UTC
README
使您能够将Doctrine集成到Minibase中。
安装
{ "require":{ "pkj/minibase-plugin-doctrine": "dev-master" } }
设置
初始化插件
$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. } ) ));
在控制器中使用
该插件将"em"作为插件在您的MB应用程序中可用。
从任何控制器
使用Doctrine CLI
请参阅Minibase CLI 文档,了解如何生成可以运行命令的php文件。
此插件将所有Doctrine CLI命令注入到默认的minibase命令中。
$this->mb->em->persist(new SomeModel());
事件
plugin:doctrine:entityDirs (array &$entityDirs)
监听此事件以添加更多实体目录。对需要此插件的其他插件很有用。注意,$entityDirs
是一个引用。
plugin:doctrine:setup (Doctrine\ORM\Configuration $setup)
监听此事件以在创建实体管理器之前配置Doctrine的配置。
迁移
跟踪生产数据库的最佳方式是迁移。
在您的cli.php
二进制文件所在位置创建migrations.xml
。
添加此(自行配置)
<?xml version="1.0" encoding="UTF-8"?> <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>
创建您的第一个diff
php cli.php migration:diff
执行迁移
php cli.php migrations:migrate