【发布时间】:2010-12-22 13:59:15
【问题描述】:
如何正确地将新安装的 Symfony 1.4 框架从 Doctrine(默认配置)切换到 Propel?
【问题讨论】:
如何正确地将新安装的 Symfony 1.4 框架从 Doctrine(默认配置)切换到 Propel?
【问题讨论】:
如果您创建新的(新)项目...
symfony generate:project xxx --orm=Propel
最简单的事情:)
如果您想更改现有项目 - 您必须在配置文件中挖掘并启用 propel 插件。
您的配置文件应类似于:
// config/ProjectConfiguration.class.php
public function setup()
{
$this->enablePlugins('sfPropelPlugin');
...
}
(基于 Symfony 页面,下次你应该挖掘它 - 特别是 Practical Symfony)
【讨论】:
如果您喜欢面向对象的语法,请使用 Propel。
【讨论】:
如果您喜欢看起来像 SQL 语句的链式对象方法调用,请使用 Doctrine。如果您喜欢隐藏 SQL 的真实对象,请使用 Propel。
如果您喜欢创建条件对象,然后将其呈现为 WHERE 子句,请使用 Propel。如果您喜欢创建类似于 SQL 的 WHERE 子句,请使用 Doctrine。
您也可以同时使用两者。不推荐,但如果你使用像撇号这样只使用 Doctrine 的插件,你可能别无选择。
【讨论】:
回复这里完全推荐 Doctrine 的贡献者:在我看来,这个决定并不明确。 Propel 现在还支持可链接的查询方法,所以如果你喜欢这种方法,那么两者都还在发挥作用。此外,Propel 团队认为,模型对象的生成特性使其在大多数用例中的运行速度比 Doctrine 更快。
【讨论】: