gpt4 book ai didi

php - 如何使用 Propel ORM 来 Zend Framework

转载 作者:可可西里 更新时间:2023-10-31 23:07:05 25 4
gpt4 key购买 nike

我想将 PropelZend 框架 集成。我过去见过学说的整合,但this post说推进似乎有点不同。

Propel has two things going for it already: the first is that Propel includes its own autoloader, meaning that I didn't have to try and force Propel into Zend Framework’s file system structure. The second is that Propel is designed to let you put it’s files anywhere you want with ease, so long as you update your include path properly. This made the process significantly easier than I had thought it would be.

但是这篇文章没有详细说明如何完成它。我猜我必须修改 Zend Bootstrap.phpapplication.ini(我使用的是最新的 Zend 1.10 .8),但我发现很难找到关于最新版本的 Zend 和最新版本的 Propel 的帖子。

任何人都可以评论如何以最流畅的方式做到这一点?

另一个问题:Propel 是否有命令行界面,或者如果我使用 Zend 的命令行界面,我是否不需要 propel 的命令行界面?

最佳答案

我没有在 Symfony 之外使用 Propel,但据我所知,Propel 但我认为像下面这样的东西适用于运行时的东西:

在你的 Bootstrap 中

public function initPropel()
{
require_once 'Propel.php';
Propel::init($this->getOptions('propelConfig'));

// so we can get the connection from the registry easily
return Propel::getConnection();
}

在你的 application.xml 中(如果你喜欢的话,适应 ini)

<applicationConfiguration xmlns:zf="http://framework.zend.com/xml/zend-config-xml/1.0/">
<production>
<!-- other stuff -->
<includePaths>
<propelRuntime><zf:const zf:name="APPLICATION_PATH" />/../library/propel/runtime</propelRuntime>
</includePaths>
<propelConfig><zf:const zf:name="APPLICATION_PATH" />/configs/propel-runtime.php</propelConfig>
<!-- other stuff -->
</production>
</applicationConfiguration>

当然,就我而言,这并不是真正的完全集成……但它应该足以让您轻松启动和运行。如果在这个项目上值得您投资,我会继续制作应用程序资源。运行 propel build 并查看编译后的 php 数组。然后将其映射到 xml 或 ini 并将其直接嵌入到您的应用程序配置文件中。然后修改你的 initPropel 来处理它:

public function initPropel()
{
require_once 'Propel.php';
Propel::setConfiguration($this->getOptions('propelConfig'));
Propel::initialize();

// so we can get the connection from the registry easily
return Propel::getConnection();
}

如果您愿意,您甚至可以不直接加载从配置文件解析的数组,而是创建一个 PropelConfiguration 对象并以编程方式设置所有参数,然后将其传递给 setConfiguration.

至于构建工具,我发现与 Zend_Tool 集成是一种考验,因此我倾向于依赖 phing 或自定义 shell 脚本来完成所有这些工作。除非您计划在很多项目中使用 Propel,否则可能没有时间实现这种集成级别。不久前我用 Doctrine 1.x 做到了,我花了几个星期才解决了所有问题:-)

关于php - 如何使用 Propel ORM 来 Zend Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3796093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com