代码仓库

服务器,Apache,ruby on rails,csharp,Python,函数式编程,XML,XML,JBoss,Borland,Eclipse,Eclipse,Silverlight,Lotus,Lotus,MySQL,Sybase,Sybase,Access,OpenAPI,挨踢职涯,下载

用户操作
[即时聊天] [发私信] [加为好友]
nowrapID:nowrap
27174次访问,排名4610(-1),好友0人,关注者13人。
nowrap的文章
原创 0 篇
翻译 0 篇
转载 2690 篇
评论 3 篇
creditcard的公告


最近评论
中国红:http://store.taobao.com/shop/view_shop-5f6b15119cbccada59e92e6194a390f9.htm?nekot=g%2Cnbqw43dfm5qw61223377947125
123:123
文章分类
    收藏
      相册
      信用卡中心
      Bank Card(RSS)
      Bank Card(RSS)
      BankCard(RSS)
      BankCard(RSS)
      BankCard(RSS)
      BankCard(RSS)
      BankCard(RSS)
      BankCard(RSS)
      Credit Card(RSS)
      Credit Card(RSS)
      CreditCard(RSS)
      CreditCard(RSS)
      CreditCard(RSS)
      CreditCard(RSS)
      CreditCard(RSS)
      中资银行(RSS)
      中资银行(RSS)
      中资银行(RSS)
      信 用 卡(RSS)
      信 用 卡(RSS)
      信 用 卡(RSS)
      信用卡(RSS)
      信用卡(RSS)
      信用卡(RSS)
      信用卡(RSS)
      信用卡(RSS)
      信用卡(RSS)
      信用卡信息(RSS)
      信用卡资讯(RSS)
      信用卡资讯(RSS)
      出国金融(RSS)
      出国金融(RSS)
      出国金融(RSS)
      出国金融(RSS)
      出国金融(RSS)
      北京金融(RSS)
      北京金融(RSS)
      北京金融(RSS)
      北京金融(RSS)
      北京金融(RSS)
      外资银行(RSS)
      安全防范(RSS)
      安全防范(RSS)
      安全防范(RSS)
      安全防范(RSS)
      投资理财(RSS)
      投资理财(RSS)
      投资理财(RSS)
      投资理财(RSS)
      投资理财(RSS)
      投资理财(RSS)
      投资银行(RSS)
      投资银行(RSS)
      投资银行(RSS)
      投资银行(RSS)
      电子银行(RSS)
      电子银行(RSS)
      电子银行(RSS)
      白 金 卡(RSS)
      白 金 卡(RSS)
      白金卡(RSS)
      白金卡(RSS)
      第三方支付(RSS)
      第三方支付(RSS)
      第三方支付(RSS)
      贵宾理财(RSS)
      贵宾理财(RSS)
      金融论文(RSS)
      金融论文(RSS)
      金融词典(RSS)
      金融词典(RSS)
      银行业务(RSS)
      银行业务(RSS)
      银行信息(RSS)
      银行信息(RSS)
      银行信息(RSS)
      银行信息(RSS)
      银行信息港(RSS)
      银行信息港(RSS)
      银行卡(RSS)
      银行卡信息(RSS)
      银行卡信息(RSS)
      银行卡资讯(RSS)
      银行卡资讯(RSS)
      银行卡资讯(RSS)
      银行招聘(RSS)
      银行招聘(RSS)
      银行招聘(RSS)
      银行招聘(RSS)
      银行招聘(RSS)
      银行招聘(RSS)
      银行网点转型(RSS)
      银行网点转型(RSS)
      银行网点转型(RSS)
      银行网点转型(RSS)
      银行网点转型(RSS)
      银行网点转型(RSS)
      银行营销(RSS)
      银行营销(RSS)
      银行营销(RSS)
      银行营销(RSS)
      银行营销(RSS)
      银行贷款(RSS)
      银行贷款(RSS)
      银行资讯(RSS)
      银行资讯(RSS)
      零售银行转型(RSS)
      零售银行转型(RSS)
      存档
      订阅我的博客
      XML聚合  FeedSky

      转载 PHP开发框架的现状和展望收藏

      新一篇: Asp.net Ajax 中的脚本错误: Sys未定义 的解决方法 | 旧一篇: 用Photoshop打造美丽的圣诞大头贴









      引言:
        随着Ruby on Rails的火爆,PHP这个流行的Web应用脚本语言也出现了大量的新一代开发框架。与此同时,国内PHP开发者也开始紧跟国外发展,推出了不同的开发框架。

      Ruby on Rails催生变革
        在RoR流行之前,PHP领域也有不少开发框架,例如Mojavi、WACT、PHPMvc和Seagull等。这些框架虽然也采用了MVC模式、数据库抽象层等技术。但由于当时PHP本身不像现在这样流行,所以这些框架都没有得到大量应用,最终归于沉寂。
        而在感受到RoR提供的快速开发能力后,PHP社区像被注入了兴奋剂。各种应用技术和开发框架层出不穷。

      新一代框架的诞生
        PHP社区在被RoR震晕后,没有陷入过多的争论。而是立即行动起来,开始了新一代框架的设计。首先出现的第一批框架几乎都是RoR的克隆。例 如PHP on Trax(连名字都借鉴Ruby on Rails)和TaniPHP、Akelos等。这些框架最大的特点就是力求100%克隆RoR,不管是采用的架构、设计模式,还是使用方法。
        这几个框架一开始确实吸引了开发者的注意,但随着开发者的深入了解,这些框架头上的光环逐步褪色。晦涩难懂的架构、糟糕的性能,以及太多的限制,让这些框架难以在实际项目中运用。
        此时,许多PHP开发者认为可以借鉴RoR的设计思想,但不应照搬RoR的结构和实现。为此,一些同样推崇快速开发的框架开始在PHP社区出现。这些框架中,CakePHP和Symfony可谓佼佼者。

      CakePHP(http://www.cakephp.org/
        CakePHP充满了RoR的影子,从ActiveRecord模式到视图的布局管理都和RoR非常相似。而且CakePHP一开始也尝试实现与 RoR一样的许多东西。但CakePHP的开发团队后来发现PHP语言和Ruby语言存在巨大区别,因此RoR中的许多设计即便能够在PHP中实现,也是 缺乏实用价值的。
        CakePHP在发展中逐步走出了RoR的阴影,开始探索更能发挥PHP语言本身优势的架构和实现。因此有一段时间CakePHP的API发生了剧烈的变化,以致其他开发者纷纷停下脚步处于观望状态。
        但由于前期一些架构的不合理和对RoR太多的模仿,导致CakePHP的核心部分越来越难以理解,运行性能也不尽人意。而且CakePHP将一个庞大的数据库操作对象作为所有业务对象的基础。这虽然利于快速开发,但却导致对业务逻辑对象的测试非常困难。
        对于较小型的项目,CakePHP非常理想。出色的快速开发能力、丰富的API和详尽的文档都可以帮助开发者很快完成工作。但随着项目规模的增加,CakePHP的局限性也变得突出。

      Symfony(http://www.symfony-project.com/
        Symfony是一个非常成熟的框架,大量利用了已有的开源项目。Symfony使用Mojavi的核心代码实现了框架的MVC模式,利用 Propel作为数据库抽象层。Symfony不仅功能强大,而且对Ajax有全面的支持。加上官方网站提供的大量文档和教程,并拥有一个活跃的社区,因 此受到许多开发者的欢迎。
        但是,Symfony最大的问题也在于使用了太多风格迥异的开源项目来组合成框架。由于Mojavi和Propel本身都相当复杂,因此Symfony的结构非常复杂,难以理解和学习。
        不过对于希望选择一个框架作为企业内部系统基础架构的企业来说,Symfony的成熟度、丰富的文档和活跃的社区都是值得考虑的。毕竟企业内部系统更为看重的是稳定性和长期的支持。

      商业利益与大道至简
        看到PHP开发框架的潜在商业价值后,Zend.com联合IBM宣布将要推出一个真正能够发挥PHP优势的开发框架。一时间,这个消息在整个PHP社区引起了地震。大家都开始期盼这个具有“官方”背景的开发框架能够为PHP开发者指出一条正确的道路。
        不过世事难测,就在Zend Framework团队公布几个代码片断后,立即就有开发者指出这些代码片段是不可能实现的。事实证明这些代码片段不过是美好的理想。限于PHP语言本身 的能力,Zend Framework最终没有实现当初承诺提供的类似RoR中ActiveRecord模式的实现品。

      Zend Framework(http://framework.zend.com/
        Zend Framework大量应用了PHP5中面向对象的新特征:接口、异常、抽象类、SPL等等。这些东西的应用让Zend Framework具有高度的模块化和灵活性。同时,因为严格遵循“针对接口编程”和“单一对象职责”等原则,让Zend Framework很有希望成为一个出色的企业应用开发框架。
        但不幸的是Zend Framework直到今天,也没有做出更多的突破。在使用Zend Framework开发时,框架对应用程序自身最重要的领域逻辑分离没有提供任何帮助。如果希望开发出真正健壮的企业应用,仍然需要开发者做出相当的努 力,并且在Zend Framework之上建造自己的基础设施。
        针对这点,批评者指出Zend Framework虽然大量应用PHP5的新特征,但却没有将这些相对于PHP4的优势转化为能够为开发者提供帮助的东西。

        对于简单和小型的项目来说,Zend Framework不但不能提高开发效率。反而因为在框架中应用了大量面向对象设计和PHP5的新特征,对开发者提出了更高的要求,间接增加了项目的开发 成本。而对于较大的项目和企业应用,Zend Framework倒是一个不错的基础。但要创建一个成功的应用,仍然需要付出不小的努力。并且要时刻注意Zend Framewok的性能问题。

      Code Igniter(http://www.codeigniter.com/
        Code Igniter可以说是一匹黑马。Code Igniter出现之时正是Symfony和CakePHP大行其道、Zend Framework万众期待的时刻。可凭借着独特的设计思想,Code Igniter吸引了大批开发者。这点从其火爆的官方论坛就可得到证实。
        Code Igniter推崇“简单就是美”这一原则。没有花哨的设计模式、没有华丽的对象结构,一切都是那么简单。几行代码就能开始运行,再加几行代码就可以进行 输出。大部分日常开发中用到的东西都可以立即找到,并且可以很容易的使用。Code Igniter可谓是“大道至简”的典范。
        但是,Code Igniter本身的实现不太理想。内部结构过于混乱,虽然简单易用,但缺乏扩展能力。因此在发展到1.5系列版本时,作者不得不通过增加各种hooks来为框架提供扩展能力。

      国内PHP开发框架
        国内虽然过去也曾有开发者发布过一些框架,但这些框架要么







      发表于 @ 2008年07月12日 00:47:50|评论(loading...)|收藏

      新一篇: Asp.net Ajax 中的脚本错误: Sys未定义 的解决方法 | 旧一篇: 用Photoshop打造美丽的圣诞大头贴

      评论:没有评论。

      发表评论  


      登录
      Csdn Blog version 3.1a
      Copyright © creditcard