V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
WayToGo
V2EX  ›  PHP

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

  •  
  •   WayToGo · 2017-09-15 14:45:59 +08:00 · 4293 次点击
    这是一个创建于 2619 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    Models,按照 Yii2 的规则重写一下,工作量不大;( 20%)
    
    Controllers,工作量也还可以,不大;( 15%)
    
    Views,这是我认为工作量最大的部分,因为感觉这两者的页面结构完全不同(也许是我还不太理解 Yii2 ),所有页面都需要重写;( 40%)
    
    Vue Component,自己实现了一些简单的小组件( 25%)
    

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

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

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

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

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

    如果你完全没打算移植,那这不是在逼你离职么……当初项目开始选框架的时候没有和老板沟通过?沟通过达成一致的情况下还要换?然后现在又“提防你离职”? 这什么鬼逻辑……正常来说应该是派别的人来学你的东西做 backup 的,哪有这样反过来玩的
    ywisax
        16
    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
        17
    slince  
       2017-09-23 12:29:03 +08:00
    在 yii 里也可以接着用 laravel 的 blade 和 Eloquent 啊, 这样看来根本没太多工作量,换个框架驱动而已
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2586 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:45 · PVG 23:45 · LAX 07:45 · JFK 10:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.