这可能是一条充满挑战的道路,但我相信这是可能的,尽管它可能会花费大量时间。
基本上,从 ZF2 迁移然后迁移到 ZF3。
或者,如果您只是想要 PHP7 加速,只需升级到 PHP7 并进行一些可能会发现一些(但不是全部)错误的 lint 测试。
继续阅读以了解更多...
先迁移到 ZF2
https://framework.zend.com/manual/2.1/en/migration/overview.html
- 用于命名代码的工具。
- 在 Zend Framework 1 应用程序中使用 Zend Framework 2 的工具。
- 并行运行 Zend Framework 2 和 Zend Framework 1 的策略。
- 使您的代码更易于迁移的策略,主要关注域逻辑和 MVC 层的清晰分离。
- 迁移 MVC 层的策略。
- 迁移领域层的策略。
然后,迁移到 ZF3:
Zend Framework v2 到 v3 旨在作为增量升级。在过去的一年中,我们甚至努力在 v2 版本的组件中提供前向兼容性功能,以允许用户准备他们的代码以进行升级。
但是,这不是一个全面的迁移指南。虽然我们知道大部分可能发生并且将会发生损坏的区域,但我们也知道只有当开发人员实际更新时,我们才能看到完整的情况。因此,将此视为正在进行的工作,请随时通过问题或拉取请求提出更新或更改,以便我们改进!
https://docs.zendframework.com/tutorials/migration/to-v3/overview/
我想由于从 ZF 到 ZF2 的重大变化可能会有大量的破损。
但是,您可以并行运行 ZF1 和 ZF2:
https://framework.zend.com/manual/2.4/en/migration/zf1_zf2_parallel.html
从技术角度来看,ZF2 与 ZF1 并行运行是绝对可能的,因为 ZF2 使用命名空间而 ZF1 不使用命名空间,因此类名之间没有冲突。在无法或不方便将整个应用程序从 ZF1 迁移到 ZF2 的项目中,并行运行 ZF1 和 ZF2 可用作迁移策略。例如,您可以使用 ZF2 实现应用程序的任何新功能,同时保留原始 ZF1 功能。
我不知道 ZF1 和 ZF3 是否可以并行运行,但也许并非不可能。
或者,只需使用 PHP7 尝试一下
如果是我,我可能会先尝试升级到 PHP7 并查找代码中的任何损坏。
您可以运行类似于以下内容的内容来针对 PHP7 对您的 PHP 代码进行 lint 测试:
find . -name "*.php" -print0 | xargs -P 8 -n 1 -0 sh -c '/usr/local/Cellar/php70/7.0.0/bin/php -l $0 || true' | grep -v 'No syntax'
如果您使用的是 Mac,则可以通过 brew 安装 PHP 版本切换器。
brew install brew-php-switcher
您可能需要在 httpd.conf 中注释掉这一行:
#LoadModule php5_module libexec/apache2/libphp5.so
然后 :
brew install php71
将此行添加到您的 httpd.conf:
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>
切换版本:
brew-php-switcher 71