多数大学生出来选择的工作和专业无关
首页 > 专业知识

国外5大最流行PHP框架排名

时间:2018-02-03 16:32:18 [来源]:郑州PHP培训学校

   国外5大最流行PHP框架排名

  PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
  1. Yii
  PHP框架-Yii
  Yii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实上,Yii是最有效率的PHP框架之一。
  2. CodeIgniter
  PHP框架-CodeIgniter
  CodeIgniter是一个应用开发框架——一个为建立PHP网站的人们所设计的工具包。其目标在于快速的开发项目:它提供了丰富的库组以完成常见的任务,以及简单的界面,富有条理性的架构来访问这些库。使用CodeIgniter开发可以往项目中注入更多的创造力,因为它节省了大量编码的时间。
  3. CakePHP
  PHP框架-CakePHP
  CakePHP是一个快速开发PHP的框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的框架,而且这个快速的实现并没有牺牲项目的弹性。
  4. PHPDevShell
  PHP框架-PHPDevShell
  PHPDevShell是一个开源(GNU/LGPL)的快速应用开发框架,用于开发不含JavaScript的纯PHP。它有一个完整的GUI管理员后台界面。其主要目标在于开发插件一类的基于管理的应用,其中速度、安全、稳定性及弹性是最优先考虑的重点。其设计形成了一个简单的学习曲线,PHP开发者无需学习复杂的新术语。PHPDevShell的到来满足了开发者们对于一个轻量级但是功能完善,可以无限制的进行配置的GUI的需求。
  5. Akelos
  PHP框架-Akelos
  Akelos PHP框架是一个基于MVC设计模式的web应用开发平台。基于良好的使用习惯,使用它可以完成如下任务:
  方便的使用Ajax编写views
  通过控制器管理请求(request)及响应(response)管理国际化的应用
  使用简单的协议与模型及数据库通信
  你的Akelos应用可以在大多数共享主机服务供应方上运行,因为Akelos对服务器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用于发布单独web应用的框架,因为它不需要非标准PHP配置便能运行。
 
  PHP常用小型框架有哪些
  E是一款非常简洁优秀开源的超轻量级PHP框架,致力于追求简洁,安全,自由,高效,是中小型项目首选框架。框架构架合理,一键生成完全合乎规范的大型网站文件夹架构,网站架构一目了然。强大的外部类库支持,分布式存储,强大的缓存系统,内置smarty模板引擎,单入口MVC模式,面向对象编程,具有微内核设计,移植性强,松散耦合等特点,能集成到你任何一个系统里面。无论您是一个NewPHPer 还是OLDPHPER,那么E框架是您的首选。学习完E框架后您可以快速并且轻松的驾驭其他框架,步入php高手之列。
  DuoLamPHP是一款超轻量级的PHP框架,命名是按照多啦A梦动漫给改成的拼音形式。DP是一个简单、高效、上手容易的PHP框架,遵循apache开源协议。可以快速搭建出一个项目,作为一个超轻量级的PHP框架,完美支持MVC,完全面向对象。
  Difeye框架[4]是一款超轻量级PHP框架,由Kohana框架精简而来,主要特点有:数据库连接自动主从读写分离配置,适合单机和分布式站点部署;支持Smarty模板机制;支持mysql、nosql类的mongodb等第三方数据库模块;完全分离页面和动作,自动执行Page_Load入口函数,支持二级路由,将页面模块和页面上的动作完全分离,使站点升级迁移更简单;框架简单易学容易部署;GalaxixPhp 是一套专业的php建站框架,主要用于让用户在网上的建站,开发人员使用用 GalaxixPhp可以大大的缩小中型甚至大型网站的开发周期。GalaxixPhp 兼容 JavaScript ,可以无缝地与 Javascript,flash,PHP 等程序集成,适合构建展示、CMS、商城、论坛、博客、Wiki、等各种网站。并且官网上学习和说明文档以及视频教程齐全。是针对专业开发的人员的收费框架。并且官方正在不断推出更新更实用的框架插件。最新版本1.1.2.
  PhpPeanuts 是一个用以开发数据库后端应用的PHP框架,包含一个可扩展的动态脚手架用来创建一个完整的web应用,提供用户界面和ORM,包括CRUD操作、关联关系以及一些示例查询。phpPeanuts 2.0 完全支持 PHP 5,遵循 ESTRICT 标准,不再使用变量引用来传递对象;提升了灵活性;更独立的模块,以及迭代的对象复制等等。
  Rong Framework是一个国产的基于php5的面向对象开发框架,开发的主要目的是简化开发、高性能开发。支持数据库文件缓存、数据库通用操作及封装。简化CRUD代码编写。支持在线生成CRUD代码,只要选中数据表名称,就可以生成CRUD代码。不懂编程的人也可以做到。rong framework分为php代码模板(class Rong_View_PHP)和Rong_View_Wudimei(无敌美模板引擎,类似smarty)两种模板机制。拥有良好的MVC机制和url美化方式、可以在代码中实现URL重写(由Rong_Countroller_Route实现)。
  Openbiz Framework是为搭建企业应用而设计的PHP的基于面向对象的快速开发框架。它可以帮助专业软件开发人员和技术咨询专家来构建用于网络上的企业级应用。Openbiz Framework的设计目标是节省构建复杂应用系统的开发投入和缩短开发时间。借助于Openbiz的帮助,应用程序的开发将基于完善的MVC架构建立,以 Metadata驱动为核心描述业务逻辑,支持多种ORM逻辑,并且有Openbiz Appbuilder作为图形化集成开发环境的快速开发平台。
 
 
 
 
 
  逐步提升php框架的性能
  一、当前框架存在什么问题
  目前主流的框架Zend Framework、Cakephp等都采用了MVC模式,同时实现了URL的路由分配。比如说http://www.xxx.com/user/login就会映射到userController对象中的loginAction方法,http://www.xxx.com/user/register对应为userController对象中的registerAction方法。这样对应的userController对象就很可能是这样的。
  class userController extends controller{
  function loginAction(){
  //login
  }
  function registerAction(){
  }
  }
  ?>
  那么这存在什么样的问题呢?很明显:包含了不必要的代码!比如说你访问/user/login完全没必要包含registerAction()方法里面的内容。上面的代码只是简单的例子,一般来说controller对应的是一个小功能模块,它会有比较多的功能操作的,尤其在比较大的项目中。这样,如果一个controller里面有十几个方法,那么每请求就包含了很多冗余的代码。而在PHP性能提升中很重要的一点:尽量避免包含不相关代码!
  在我最近的小项目中,我采用自己的phpbean框架(框架类似Zend Framework),在后来的开发发现的确每个controller包含太多action了,后来不得不考虑分流。但很不理想。
  二、问题不是因为面对对象的错
  很多人认为“包含多余的冗余代码是面对对象的错误”,我不同意。正如我上篇说的:面对对象能实现面对过程的所有功能,并且做的更好!关键是采用面对对象的思维来使用面对对象,而不是用面对过程的思维来写面对对象的程序。
  三、如何解决这个问题呢?
  解决的关键就是把action分离开来。如何分离呢?首先要清楚controller的作用。controller是控制器,主要是做请求的转发,把http请求转发到具体的action上。注意:在struts中是没有存在controller文件的(注意不是说没有控制器),它是直接映射到action文件。所以我们完全可以把controller直接放到路由转发中,而真正的流程控制、逻辑处理等放到action中。
  比如说上面的例子,我们就可以分离成两个文件:
  loginAction.php
  class loginAction extends Action{
  function run(){
  }
  }
  ?>
  和registerAction.php
  class registerAction extends Action{
  function run(){
  }
  }
  ?>
  这样就实现了action的分离。当你访问/user/login请求的时候就不会包含registerAction的代码。
 

上一篇:php怎么根据ip获取经纬度

下一篇:使用PHP脚本来写Daemon程序