PHP 如何实现对代码的面向对象重构
有个PHP+mysql项目是面向过程开发的,界面是一层层可折叠的按公司管理层级显示的统计数据。现在老板想要代码重构,弄成面向对象的,要求来一个新客户,能两周搞定。请问怎么重构比较好? ----------------------- 以下是精选回复-----------------------
答:我自己的网站也面临过这种问题。
曾经是大二的时候学习php+html的时候写的一个练手项目,没啥规划就是写着玩。
后来发现面向过程控制不住了……然后因为大学那个时候又没啥系统学习(加上本人也不是计算机专业也不太懂底层)代码写得简直乱如麻。
本来想用后来接触到的框架重制,然后看了CI和TP,感觉等于重写一个。麻烦。
然后花了差不多半年的业余时间,自制了一个框架 取名Lyragosa Engine 1.0
现在这个框架升级到了3.5并且已经和项目本身高度耦合……想取出来都不可能了。
好吧此回答估计对题主没什么帮助,求折叠。
答:可否讲讲思路?因为现在有一些客户了,他们的层次结构都不相同,怎么能做这么一个灵活的层次架构显示出来呢?
答:用现成的框架 重新
答:送你一句话:不要老想着重构.
答:首先,你得理解什么是面向对象,如果明白,就可以根据你们产品业务逻辑使用PHP的面向对象来重写代码。
答:这个不叫重构了,叫重建。
按照数据库建好Model,再按照页面的逻辑建好Controller。除了这个还能咋样?万事开头难呗。先选择好一个框架吧。
答:先理解下,什么是面向对象,面向对象并不是 用几个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/
希望对你有帮助!
答:1.读懂现在面向过程的代码中核心业务部分
2.将可以作为函数库的东西单独隔离出来,以便OOP中使用,会很方便
3.先了解OOP、MVC,最好对CI、TP等这类OO框架至少一个有较深入的使用经验(至少半年),不然你没法写好OOP,你会花很多时间在这上面,又由于项目时间紧缺而做的不伦不类
4.有一份较为详尽的功能说明文档或功能规格文档。这一条不是必须得,但如果有,你会事半功倍
5.你可以开始了
答:1. 找个好点的框架重写一个 (A)
2. 来需求了,复制 (A) -> (B) ,修改 (B) 满足要求
3. 又来需求了, 从 (A,B)里挑个最接近的, 复制成(C) ,修改之
.....
N. 又来.... 总有一款接近需求的吧 哈哈
想做万能的,太天真了,你永远赶不上需求变化
0条评论