首页 >  IT技术问题 > PHP技术问题 > 

PHP变成语言:需不需要框架

PHP变成语言:需不需要框架

作者:yjl 来源:华育国际 时间:2015-02-26 访问次数:1808
OO就是系统化、模型化,是到目前为止最复杂和最高级的手段,对MVC三者的任意一个都可以OO。MVC的目的是分离。分离的目的是减少重复。找不到重复是因为分离得不到位或不合理。所以如何分离是开发设计的核心,也是开发方法的主要内容。

OO就是系统化、模型化,是到目前为止最复杂和最高级的手段,对MVC三者的任意一个都可以OO。MVC的目的是分离。分离的目的是减少重复。找不到重复是因为分离得不到位或不合理。所以如何分离是开发设计的核心,也是开发方法的主要内容。
应该放弃开发速度最重要的观念。并不是说开发速度不重要,而是因为可维护性(重构性)才是真正重要的;可维护性低的开发方法其开发速度一定高不了。因为结构化越低开发起来就越复杂,反之结构化越高开发就越简单。为什么web战胜software,因为它的数据存储、页引擎、浏览器的这样一个架构(当然可以进一步细分)取代了堆在一起的software,产生了强大的分离效应。可以看出,分离是减少重复提高生产率的要诀。
OO是为了实现MODEL,MODEL是为了分离。如果问题很简单就能解决,就不一定要MODEL,否则建模所带来的生产成本就大于问题本身。应该只对较复杂的模块通过OO建立MODEL。
换言之OO只是手段,分离不一定要OO,甚至不需要MODEL。只要能做到分离。
OOP是无需质疑的一大成就,它是我们解决复杂的项目的手段。问题越复杂,OO就越重要。但是当WEB取代软件时,本身提供了一种分离架构,而且分离之后的内容又是页式的(一次只需要处理一页)。这也就是为什么web会战胜软件。问题复杂程度降低了,多余的方法成本也应该降下来。去距离不远的超市应该骑自行车而不应该乘坐出租车,否则等车的时间就不能忽略。function能分离开就不要用class,class修改维护起来比function复杂。
请记住:在整个计算机开发方法学中,减少重复是最终目的,分离则是达到此目的的途径。这就是效率的本质。
应该说PHP一直处于发展之中,它是从适合小项目发展向适合大项目的。对于php程序中SQL语句的分离,将来也应该像其他数据库那样使用存储过程。所以,选择PHP就不要和别的语言比大型。PHP的重要就在于它适合Web开发。
关于框架,可参见关于三种主流WEB架构的思考,目前的PHP框架如:
Zend Platform
fleaphp
FCS
CakePHP
都是模仿ROR。
Ruby on Rails是面向对象(OOP)和基于模型-视图-控制器 (MVC) 的典范。它能起到很高的分离作用。Ruby on Rails震惊了编程界。主要是震惊了JAVA界,他们发现作为集OOP之大成的圣殿语言面对ROR的效率难以企及。原因就在于分离是根本,而OO不是。
RAILS的确可能会有很好的前景。但他只能是IT技术进一步普及和低端化的产物。任何一种行业都会由稀缺到普及,由高端到低端。由于ROR为效率而屏蔽了底层,所以ROR只能做个低端的角色。如果你开发一个站点,规模逐渐增大,访问量逐渐增高,当CMS变成MIS,相对于使用了Smarty的PHP,rails的优势只有active record,但是数据库结构和数据库操作是性能瓶颈,是最需要设计的环节。ROR这个半成品就成了窠臼,项目后期它会让你尝足苦头。
所以ROR只适合小项目。但是相对于直接开发,框架是有成本的。小项目是否需要这么高的方法成本(学习框架,维护框架)。对于CMS,ROR出现得晚了些,很多CMS都成了现成的Web服务了。
Web开发长期以来缺乏一种项目规范。PHP亦如此,每个人的项目其结构都不一样。这与JAVA区别明显。Rails框架解决了这个问题。总之,随着硬件的不断发展,性能和稳定性等对于小型网站越来越不成瓶颈问题,所以ROR会越来越多,但这是个缓慢过程,其对应的网站也会越来越低端。