indigophp / fuel-doctrine
该软件包已被废弃且不再维护。没有建议的替代软件包。
Fuel Doctrine 2 集成
dev-develop
2014-09-21 19:25 UTC
Requires
- composer/installers: ~1.0
- doctrine/orm: ~2.4
- gedmo/doctrine-extensions: ~2.3
- indigophp/doctrine-extensions: dev-develop
- indigophp/fuel-core: dev-develop
- indigophp/fuel-dbal: dev-develop
- indigophp/fuel-dependency: dev-develop
Requires (Dev)
- codeception/codeception: ~2.0.0
- codeception/mockery-module: dev-master
- indigophp/codeception-fuel-module: dev-develop
This package is not auto-updated.
Last update: 2022-02-01 12:38:29 UTC
README
该软件包是围绕 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)。有关更多信息,请参阅 许可文件。