如何将Yii 1.x升级到Yii 2.0

如何将Yii 1.x升级到Yii 2.0,yii,yii2,yii-extensions,yii2-advanced-app,yii2-basic-app,Yii,Yii2,Yii Extensions,Yii2 Advanced App,Yii2 Basic App,如何将Yii 1.x版本升级到Yii 2.0最新版本? 我正在使用ubuntu操作系统,将旧的Yii更新为新的Yii版本2.0?Yii指南在这方面有很好的文档 看 我最近将两个中等复杂的应用程序从yii1.x迁移到yii2.0。有两种方法,可以同时运行yii1.x和yii2。然后一部分一部分地迁移,虽然这可能是相当痛苦的,就像住在第三层时试图重建第二层一样 或者,您可以使用完全相同的功能自底向上重写整个应用程序,我发现这样做效率更高,只需稍加修改即可重用重要的代码,这也为在不改变功能的情况下调整

如何将Yii 1.x版本升级到Yii 2.0最新版本?
我正在使用ubuntu操作系统,将旧的Yii更新为新的Yii版本2.0?

Yii指南在这方面有很好的文档 看

我最近将两个中等复杂的应用程序从yii1.x迁移到yii2.0。有两种方法,可以同时运行yii1.x和yii2。然后一部分一部分地迁移,虽然这可能是相当痛苦的,就像住在第三层时试图重建第二层一样

或者,您可以使用完全相同的功能自底向上重写整个应用程序,我发现这样做效率更高,只需稍加修改即可重用重要的代码,这也为在不改变功能的情况下调整设计提供了机会


重要的是确保公开的API(即前端/UI/功能)保持不变。在重写期间更新功能或改变特性总是诱人的,但是如果您坚持严格地重新执行YII2的所有内容,那么考虑更改API,您的迁移将更平滑。p> 是否可能?类中的更改是巨大的,不是花时间更改所有类的好方法,而且编码实践也发生了更改。相对于最初构建所需的时间,您是否有可能花大量时间基于现有的Yii 1代码进行重写?你认为现在是三分之一的时间吗?3/4?这真的取决于你的Yii 1应用程序写得有多好,它是否是设计良好的胖模型和瘦控制器,关注点的适当分离等等,如果你只是重写,它应该可以在不到原来的一半时间内完成,假设布局和UI是相同的。我们现在正在做,用一种稍微不同的方法。几个月后,我将报告它到底是不是很痛苦,但背后的概念是一个中间类(我们称之为Yang),它模仿Yii1的行为,只是作为其调用的包装,然后我们在这一类中弥合与Yii2的差异。同样,我们也不确定这是否能完美实现,但这是我们在继续进行Yii2测试和减少git与项目主干的差异的同时保持生产版本运行的最好办法。