有没有人描述Zend从Ver 1到3改变了多少体系结构?最近zend发布了zf3,但没有提供如何从zf1迁移到ZF3的信息。我在zf1中开发了一个应用程序,现在正在寻找将其升级到使用PHP7POWER和ZF3。我是需要重写整个代码,还是需要花多少精力才能转到最新版本。
此外,ZF3声称自己在PHP7下的速度快了4倍。实际上,更快的是PHP7本身,而不是ZF3。我不确定与过去几年的顶级框架之一的Laravel框架相比,它们改进了多少。
如果有人使用ZF3,请分享他们的经验。
发布于 2016-10-24 00:16:27
如果您处理的是一个大型应用程序,那么就不会有一种快速、无痛苦的迁移到ZF3的方法。从路由到服务,位于ZendFramework2/3下面的实际和理论框架都与第一次迭代完全相反。
当ZF2首次发布时,我在一个非常大的项目上完成了ZF1到ZF2的迁移(以及ZF2到ZF3)。最后,我们使用了一种增量方法,需要从核心ZF1库(即我们编辑了几个Zend类)中产生微小的偏差,这对我们非常有用。由于ZF1在9月份开始使用EOL,这意味着将不再有任何bug修复或任何类型的更新,这不会对您造成重大问题。
在下面我列出的文章中,您将看到对允许我们完成迁移的步骤的描述,以及指向旨在部分桥接ZF1/ZF2的一些代码的链接。由于来自ZF2和ZF3的更改并没有造成太多的向后兼容性问题,我在文章中详细介绍的步骤仍然应该(大部分)适用于从ZF1到ZF3的迁移。
Step by step migration from Zend Framework 1 to 2
这里还有两个你可能会发现有帮助的链接。第一个链接是Zend提供的ZF1到-ZF2迁移指南。第二个链接是Zend的一般文档。如果一个组件已经更新到3.0版(例如zend、等),那么它应该包含一个迁移指南,告诉您ZF2/3之间发生了什么变化。
发布于 2016-10-22 22:19:14
这可能是一条充满挑战的道路,但我相信这是可能的,尽管它可能会花费大量的时间。
继续读更多..。
迁移到ZF2 first
https://framework.zend.com/manual/2.1/en/migration/overview.html
然后,迁移到ZF3:
Zend v2到v3的目的是作为一种增量升级。在过去的一年里,我们甚至努力在组件的v2版本中提供前向兼容性特性,让用户为升级做好代码准备。 然而,这并不是一个全面的移徙指南。虽然我们知道大部分区域都会发生破损,但我们也知道,只有当开发人员进行实际更新时,我们才能看到完整的情况。因此,将此视为一项正在进行的工作,并请随时通过问题或拉请求提出更新或更改,以便我们可以改进!
https://docs.zendframework.com/tutorials/migration/to-v3/overview/
我可以想象,由于从ZF到ZF2的重大变化,会有大量的损坏。
但是,您可以并行运行ZF1和ZF2:
从技术角度来看,绝对有可能并行运行ZF2和ZF1,因为由于ZF2使用名称空间而ZF1不使用名称空间,所以类名之间没有冲突。在不可能或不方便地将整个应用程序从ZF1迁移到ZF2的项目中,并行运行ZF2和ZF1可以用作迁移策略。例如,您可以使用ZF2实现应用程序的任何新特性,同时维护原始的ZF1特性。
我不知道ZF1和ZF3能否并行运行,但也许不是不可能的。
,或者,用PHP7试试
如果是我,我可能会尝试先升级到PHP7并查找代码中的任何破损。
您可以运行类似于下面的代码,以便在PHP7上测试您的PHP代码:
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上,可以使用PHP版本切换器,方法是使用brew安装它。
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
https://stackoverflow.com/questions/40197241
复制相似问题