项目从 Laravel 5.2 移植到 Yii2 的工作量评估

2017-09-15 14:45:59 +08:00
 WayToGo

之前使用 Laravel 5.2 做了个工具。出于某些原因,需要评估移植到 Yii2 的工作量。 因为完全不懂 Yii2,所以来请教大神,Laravel 中有哪些既有实现可以重用到 Yii2。

粗略的看了一下 Yii2 的官方文档,我自己理解的比重关系是:

Models,按照 Yii2 的规则重写一下,工作量不大;( 20%)

Controllers,工作量也还可以,不大;( 15%)

Views,这是我认为工作量最大的部分,因为感觉这两者的页面结构完全不同(也许是我还不太理解 Yii2 ),所有页面都需要重写;( 40%)

Vue Component,自己实现了一些简单的小组件( 25%)

以上是我个人的理解,如果有错,请大神指正。 并且希望大神能给出更为合理的理解,非常感谢。

4134 次点击
所在节点    PHP
17 条回复
circleee
2017-09-15 15:06:46 +08:00
重写吧
chuhemiao
2017-09-15 15:09:39 +08:00
没用到框架自己的东西,可以当组件移植出来把,可以直接重写一个 packgist 包,下次换 yaf:D
WayToGo
2017-09-15 15:29:44 +08:00
@circleee 我的第一感觉也是重写。。。
WayToGo
2017-09-15 15:30:21 +08:00
@chuhemiao 嗯,再做就做成包,唉
sfree2005
2017-09-15 15:45:39 +08:00
很好奇必须要移植的原因,说出来讨论下?或许还有更好的方法呢?
nullen
2017-09-15 16:03:25 +08:00
要是我,我会说服自己不要移植。
gouchaoer
2017-09-15 20:22:49 +08:00
我猜是遇到性能问题,迁移的成本太大了,你可以试试那种结合 swoole 和 laravel 的框架,这样迁移成本小而且可以很大程度克服 laravel 性能问题以及改善 io
RorschachZZZ
2017-09-15 20:36:11 +08:00
求解为啥要迁移
xiaotianhu
2017-09-16 01:09:06 +08:00
@gouchaoer 目前 swoole lumen 跑了俩月非常
cszchen
2017-09-16 07:06:03 +08:00
view 迁移工作量可以很小,你把 laravel 的模板引擎作为 yii 的模板引擎
runningman
2017-09-16 14:06:51 +08:00
没啥意义
WayToGo
2017-09-16 19:55:21 +08:00
谢谢楼上各位的回复。
@sfree2005 @nullen @RorschachZZZ @runningman
说起来话长,上面怕我离职,没人维护。
而如果移植到 Yii2 上,可以从其他组调人来维护。
所以现在就是预估工时,希望可以让上面觉得成本太高而放弃移植的念头。

@gouchaoer @xiaotianhu
谢谢指点,性能确实是我这个工具比较重要的一个指标。

@cszchen
谢谢指点,如果确定要移植的话,这确实是个很好的思路。
RorschachZZZ
2017-09-16 20:57:02 +08:00
额,如果不撸源码。laravel 不难吧,起码比重构合理啊。
sfree2005
2017-09-17 05:46:47 +08:00
同意 @RorschachZZZ #13, 会 Yii2 的人学习 Laravel 的成本不会比移植一整个项目大吧,真的没有必要咧~~

反正你把你估计的工时翻倍之后和上面说,这不是夸张,实际操作的时候和翻倍后的数字差不了多少。
mcfog
2017-09-17 10:14:39 +08:00
如果你真的就要离职,那移植应该是 Yii2 那组人的工作,你要做的应该是提供现有系统的详尽文档和在合理范围内答疑配合

如果你完全没打算移植,那这不是在逼你离职么……当初项目开始选框架的时候没有和老板沟通过?沟通过达成一致的情况下还要换?然后现在又“提防你离职”? 这什么鬼逻辑……正常来说应该是派别的人来学你的东西做 backup 的,哪有这样反过来玩的
ywisax
2017-09-22 13:14:05 +08:00
vue 部分不用迁移。
迁移好 models 就完成 7 成工作了。其他的 controller 和 view,其实都可以很快搞定的。laravel 的模板是 blade 还是 twig 吧,自己搞个脚本来转换成 php 即可。
另外还有就是 provider 之类的东西要自己重新封装成 yii2 的 component,这个工作量其实也很小。
我有几个项目都是类似楼主这种的情况,试过 thinkphp-->yii2,kohana-->yii2,laravel-->yii2。
快速过下各个框架的文档,自己搞个 demo,xdebug 单步跑几次,心里有个底了,做这些事情就不慌了
slince
2017-09-23 12:29:03 +08:00
在 yii 里也可以接着用 laravel 的 blade 和 Eloquent 啊, 这样看来根本没太多工作量,换个框架驱动而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/390957

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX