一年前我有类似的任务,但代码根本不是OO.我创建了一个新的Yii项目,并将旧站点作为lib放在该项目中.然后,我在Yii中设置了数据库访问的基础知识,无论两个项目中需要哪个会话值等等.然后逐个路由,按功能逐个移植.花了一些时间,但结果非常好.我刚刚有一个引导脚本,它基于"ported_routes"路由请求.
当重新使用不应该成为问题的类时,如果它们结构良好而不依赖于旧代码.Yii对这些东西没有任何限制,所以只需将它们添加为libs或浏览Yii文档,看看是否有意义将它们重构为Yii组件或子类中的东西.
至于从skratch重做的CSS和JS,使用LESS和更新的JS库.自从编写原始代码以来,JS世界中发生了很多事情.Yii不要求你遵循任何预定的标记结构,所以理论上你应该能够使用旧的CSS,除非你想改变标记基础.
如果你的旧代码具有类似MVC的结构,那么动作和视图的移植将变得更加顺畅,但是无论你认为是什么,我都会采用类似的方法.