如何在我的旧PHP非集中式站点上集成Zend框架?

如何在我的旧PHP非集中式站点上集成Zend框架?,php,zend-framework,Php,Zend Framework,我们正在Zend Framework中开发一个新站点,同时维护和改进我们的旧版本(普通老式PHP文件) 在某些情况下,这意味着我们可以在一定程度上延长新版本的编程时间 我们在Apache上有完全的服务器控制和复杂的301重写,所以我们可以根据需要重写o符号链接。我们的目标是能够将Zend包含在我们站点的子目录中,这样我们至少可以在任何PHP编程中使用它的库,甚至更好的是,数据库模型和尽可能多的代码可以在完成后在纯ZF站点上重用 这值得这么麻烦吗?有人能指出一个教程或最佳实践来做到这一点吗 非常感

我们正在Zend Framework中开发一个新站点,同时维护和改进我们的旧版本(普通老式PHP文件)

在某些情况下,这意味着我们可以在一定程度上延长新版本的编程时间

我们在Apache上有完全的服务器控制和复杂的301重写,所以我们可以根据需要重写o符号链接。我们的目标是能够将Zend包含在我们站点的子目录中,这样我们至少可以在任何PHP编程中使用它的库,甚至更好的是,数据库模型和尽可能多的代码可以在完成后在纯ZF站点上重用

这值得这么麻烦吗?有人能指出一个教程或最佳实践来做到这一点吗


非常感谢。

完全可以一次编写一个基于ZF的页面,以获得新功能,或者替换网站的旧部分

您几乎可以根据需要编写新页面,但与正常情况下通过index.php进行输入不同,您可以修改重写,将特定URL定向到新的基于zf的页面:

RewriteEngine on
RewriteBase /
# Not if there is a file or directory that matches
RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d

# a new, clean URL can go to an old page
RewriteRule ^online /online_now.php

# other pages go to a ZF-frontcontroller, in zf.php
RewriteRule ^about/ /zf.php           [L]
RewriteRule ^account /zf.php          [L]
RewriteRule ^data /zf.php             [L]
RewriteRule ^faq /zf.php             [L]

我们有一个高度模块化的站点,因此我们的策略是首先使用Zend框架开发新的模块。我们已经大量使用了.htaccess(事实上使用得太多了),所以我们的最后一条规则只是重定向到Zend控制区域

我们以少量的规律性重新访问旧模块,由于我们需要以重要的方式对它们进行返工,我们将重写它们

最难的部分,实际上不是很难,是确保我们所有的会话信息在不同的部分保持一致

实际上,最困难的部分可能是确保接口在某种程度上是一致的。在系统的旧部分有太多糟糕的代码(有些代码已经有10年的历史了),我们不得不在这里和那里以小的方式打破Zend框架约定,以使其对用户透明

这对我们来说是相当实验性的。我们在Zend框架上实现了新的系统,因此对它有一定的机构熟悉度,但我们无法说服自己重写遗留系统是值得的。我们处于非常早期的阶段,但对此感到非常积极