网站建设资讯

PHP面对对象的思考

网站制作 2018-12-03 09:57:20 | 阅读:1019
   php的特色是简单,快速,适用。在PHP的世界里,一切以解决问题为主,所以很多设计方面的东西往往被忽视或排斥。虽然PHP的面向对象提出很多年了,但一直被排斥,很多人提介原生态开发方式,甚至有人提介彻底面向过程。伴随着对OO的质疑,PHP框架一方面如雨后春笋遍地开花,另一方面一直受到抵制和质疑。
    有一点是肯定的,PHP不是一门很好的面向对象的语言,因为其无法做到完全面向对象,也无法优雅的实现面向对象。所以现在比较流行的还是以类为主的开放方式,即抛弃或精简经典的MVC理论,很少用和几呼不用的设计模式,以类加代码模块的方式进行代码组织。这种开发方式在PHP的开源项目里是最流行的,也是最适合二次开发的,而比较纯的面向对象的产品有Zen Framework。这类产品入门的门槛比较高,代码看似“雍肿”,开发成本比较高,这类产品一胜败比较少见,市场占有率也比较低。
    所有产吕最终都是为市场服务,PHP面向的是WEB开发市场,所以并不需要高端的,复杂设计和开发技巧,但是前面讲的并不是没有用。
    一些基本理论在任何一门语言里都有共性。语法和函数库只是学好一门语言的必要条件,而不是次要条件。语法和函数只是表层的东西。只要掌握面向对象的思想,即使没有一点JAVE和。NET基础,也能看懂用它们写成的代码
    PHP只是一个脚本语言,一门工具而已。在WEB开发中,PHP语言自身所占的分量越来越低,但却涉及程序设计的方方面面,而面向对象只是其中之一,也是最主要的一个方面。PHP是一种经典思想,能实现低耦合,易扩展的代码,其可用最经济的方式干一事件
    理论是重要的,但是理论也不是一成不变的,比如我们提到的一些设计模式,也没有必要完全遵守,可以做一个精简和变形
    基于以上思考, 我们认为在PHP的开发中应该灵活使用面向对象的特性和设计原则。
    对于流程明确,需求清晰,需求变更风险小的业务逻辑,过程化开发最适合,这就像解一道 数学题,总需要一步步去解,上一步的结果作为下一步的条件,这个时候面向过程的开发更符合人的思维。
    但是对于流程复炸,需求不完善,存在很大需求变更风险的业务逻辑,此时用过程化开发将使程序变的非常的繁琐,实现难度很大,并且后期的维护代价高得惊人。此时抽象思维将是最适合的,用面向对象的思维去抽象业务模型并随需求不断精化,最终交付使用,其扩展度和可维护性都要比过程化方法更好