首先说一下,我现在对PHP的困惑和想法吧。--PHP从最底层和到高层有一个代码变化的规律存在。1: 首先,就PHP语言而言,向后兼容做的很到位,最多只是冗余特性多了,就语言而言是非常非常稳定,没什么好说的;2:其次是那些基于C的扩展,一般开发周期会很长,而且功能也不会改变很大,但是添加新功能是有的,官方的那些pecl是非常稳定的,http://pecl.php.net/,但是非官方的往往会不稳定,比如基于扩展到框架,IO复用的框架等等,会由于本身C代码的不够健壮引发一些编译失败或者设计机制出现错误或者内存问题等等,变化率不大,但是也够折腾人的,因为每次都要重新编译,而且不能直接改PHP代码。3:然后就是基于PHP的那些框架,比如ZendFrameWork 2, Symfony2, 这些PHP框架在一年之内往往会有小数点后面第一位的上升的版本变化,比如Symfony2.1 => 2.3。这里面比较蛋疼的是,框架是开源的,虽然那些基础组件已经够稳定的了,但是由于设计机制上的问题,往往对框架会有修正,比如注册机制,依赖诸如,安全等等。我也明白,本身就是一个变化的过程,但是作为框架,一变化,上层的第三方Bundle没有同步变化的话,会造成开发人员进入自己造轮子的节奏....有很多Bundle的文档或者开发指 南都没有跟上最新的框架。这里就是说开发人员在用第三方bundle的时候,这个bundle和所用框架之间有兼容问题。4:最后就是说,如果排除自己写Bundle的可能性,用第三方Bundle的时候,如果第三方Bundle升级了,那么是应该升级呢? 还是保持原来的样子?如果保持原样,在以后升级 框架的时候,又有可能会出现各种兼容性问题。这个到底应该怎么来解决?有个名词很得到一部分人的赞同: 拥抱变化? 但是这么折腾来折腾去的,很耗费精力和成本,时间很可怕。我的目标是能以尽量少的变动来应对各种变化,不只是简单的一个网站或者建站系统。我想了一下,不知道对不对:1: 其实用开源框架的目的是为了构建适合自己生产环境的一个框架,
所以有能力的“大厂”都自己开发框架,有完善的技术支持,更加符合自己的业务逻辑,更加具有稳定性。
2: 可以使用持续集成的方式来测试代码的正确性,但是这个只是事后诸葛的做法,无法在一开始写入的时候就决定好,比如给予角色的用户控制管理。最后再说几句:这个问题其实纠结我很久了,不仅仅是在PHP,在Rails中也有,我觉得这不仅仅是一个简单的打补丁解决安全性的问题。也许变化才是永恒的,必须应对变化,拥抱变化。希望各位有经验的大哥大姐能说说自己的切身体会或者想法。
--
ThinkingInLAMP邮件组使用说明:http://blog.thinkinlamp.com/?p=758
---
您收到此邮件是因为您订阅了 Google 网上论坛的“thinkinlamp”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 thinkinlamp...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
您收到此邮件是因为您订阅了 Google 网上论坛“thinkinlamp”中的主题。
要退订此主题,请访问 https://groups.google.com/d/topic/thinkinlamp/Cm-VBewyiyw/unsubscribe。
要退订此论坛及其所有主题,请发送电子邮件到 thinkinlamp...@googlegroups.com。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。