|  |      1lyragosa      2014-03-28 11:27:54 +08:00 我自己的网站也面临过这种问题。 曾经是大二的时候学习php+html的时候写的一个练手项目,没啥规划就是写着玩。 后来发现面向过程控制不住了……然后因为大学那个时候又没啥系统学习(加上本人也不是计算机专业也不太懂底层)代码写得简直乱如麻。 本来想用后来接触到的框架重制,然后看了CI和TP,感觉等于重写一个。麻烦。 然后花了差不多半年的业余时间,自制了一个框架 取名Lyragosa Engine 1.0 现在这个框架升级到了3.5并且已经和项目本身高度耦合……想取出来都不可能了。 好吧此回答估计对题主没什么帮助,求折叠。 | 
|      2hithorse OP 可否讲讲思路?因为现在有一些客户了,他们的层次结构都不相同,怎么能做这么一个灵活的层次架构显示出来呢? | 
|  |      3sun019      2014-03-28 12:50:14 +08:00 用现成的框架 重新 | 
|  |      4Actrace      2014-03-28 12:50:49 +08:00 送你一句话:不要老想着重构. | 
|      5opennet      2014-03-28 12:52:56 +08:00 首先,你得理解什么是面向对象,如果明白,就可以根据你们产品业务逻辑使用PHP的面向对象来重写代码。 | 
|      6raincious      2014-03-28 12:55:24 +08:00  1 这个不叫重构了,叫重建。 按照数据库建好Model,再按照页面的逻辑建好Controller。除了这个还能咋样?万事开头难呗。先选择好一个框架吧。 | 
|      7davansy      2014-03-28 13:05:44 +08:00  1 先理解下,什么是面向对象,面向对象并不是 用几个class 然后  new 一下就表示这是面向对象。推荐三本书 1. 深入PHP:面向对象、模式与实践(第2版)  2.http://book.douban.com/subject/4746407/ 2.重构 : 改善既有代码的设计 http://book.douban.com/subject/4262627/ 3.设计模式 http://book.douban.com/subject/1052241/ 希望对你有帮助! | 
|  |      8johnsneakers      2014-03-28 23:29:14 +08:00 @davansy   第一本( 深入PHP:面向对象、模式与实践)出第三版了为什么推荐是第一版呢? | 
|      9davansy      2014-03-29 00:10:27 +08:00 @johnsneakers 那就是最新的第三版! | 
|  |      10konakona      2014-03-29 01:12:54 +08:00 1.读懂现在面向过程的代码中核心业务部分 2.将可以作为函数库的东西单独隔离出来,以便OOP中使用,会很方便 3.先了解OOP、MVC,最好对CI、TP等这类OO框架至少一个有较深入的使用经验(至少半年),不然你没法写好OOP,你会花很多时间在这上面,又由于项目时间紧缺而做的不伦不类 4.有一份较为详尽的功能说明文档或功能规格文档。这一条不是必须得,但如果有,你会事半功倍 5.你可以开始了 | 
|  |      12pubby      2014-03-29 02:09:58 +08:00 1. 找个好点的框架重写一个 (A) 2. 来需求了,复制 (A) -> (B) ,修改 (B) 满足要求 3. 又来需求了, 从 (A,B)里挑个最接近的, 复制成(C) ,修改之 ..... N. 又来.... 总有一款接近需求的吧 哈哈 想做万能的,太天真了,你永远赶不上需求变化 | 
|  |      13picasso250      2014-03-30 06:17:24 +08:00 @lyragosa 答主,你逛知乎逛到这种地步…… |