indigophp/fuel-doctrine

该软件包已被废弃且不再维护。没有建议的替代软件包。

Fuel Doctrine 2 集成

dev-develop 2014-09-21 19:25 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:38:29 UTC


README

Build Status Latest Stable Version Total Downloads License Dependency Status

该软件包是围绕 doctrine/doctrine2 软件包的一个包装。

安装

通过 Composer

{
    "require": {
        "indigophp/fuel-doctrine": "@stable"
    }
}

使用方法

$manager = \Doctrine\Manager::forge('default');

$em = $manager->getEntityManager();

配置

为了使其工作,您需要以下 doctrine 配置。

	'dbal'                        => 'default',
	'proxy_dir'                   => '/tmp',
	'proxy_namespace'             => 'PrOxYnAmEsPaCe',
	'auto_generate_proxy_classes' => true,
	'mappings'                    => array(
		'mapping' => array(
			'type'   => 'xml',
			'dir'    => '/mypath',
			'prefix' => 'MyPrefix',
		),
	),
	'cache_driver'                => 'array',

您还可以使用 Setup 类来自动配置 Configuration 对象。

	'dbal'            => 'default',
	'auto_config'     => true,
	'dev_mode'        => \Fuel::$env === \Fuel::DEVELOPMENT,
	'proxy_dir'       => '/tmp',
	'cache_driver'    => 'array',

多个管理者

默认情况下,您有一个管理者(default)。如果您想使用多个管理者,您必须在 doctrine 配置中添加一个键 managers,并在那里设置您的配置。您也可以在配置根中设置全局配置。请确保将 auto_mapping 设置为 false

	'auto_mapping'    => false,
	'dbal'            => 'default',
	'managers'        => array(
		'default'   => array(),
		'aditional' => array()
	),

注意: 此软件包使用 indigophp/fuel-dbal 进行连接。请查看软件包文档。

运行 doctrine 命令

Doctrine 默认包含一个 CLI 工具,但使用官方方式(项目根目录中的 cli-config.php)有点困难。因此,我将其封装在一个 oil 命令中。它正在运行,但这仍然只是一个黑客手段(“oil”和“r”或“refine”只是从参数列表中删除),所以请谨慎使用。

示例

oil r doctrine orm:schema-tool:drop --force
oil r doctrine orm:schema-tool:create

通用语法

oil r doctrine [command]

如果您想使用特定的 Manager 实例,请在命令之前放置一个 DB 环境变量

DB=my_doctrine_instance oil r doctrine [command]

注意: 确保在 fuel 中加载了 doctrine 软件包,否则任务将无法工作。

测试

$ codecept run

贡献

有关详细信息,请参阅 CONTRIBUTING

致谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 许可文件