PHP主流web框架对比

thinkPHP

  • ThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库的支持方面已经包括MySQL、MSSQL、Sqlite、PgSQL、 Oracle,以及PDO的支持。ThinkPHP有着丰富的文档和示例,框架的兼容性较强,但是其功能有限,因此更适合用于中小项目的开发。

优点:

1.易于上手,有丰富的中文文档;
      2.框架的兼容性较强,PHP4和PHP5完全兼容、完全支持UTF8等。
      3. 适合用于中小项目的开发

缺点:

1.对Ajax的支持不是很好;
      2.目录结构混乱,需要花时间整理;
      3.上手容易,但是深入学习较难。

Yii

  • Yii 是一个基于组件的高性能php框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了 今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。

优点:

1.纯OOP
      2.用于大规模Web应用
      3.模型使用方便
      4.开发速度快,运行速度也快。性能优异且功能丰富
      5.使用命令行工具。

缺点:

1.对Model层的指导和考虑较少
      2.文档实例较少
      3.英文太多
      4.要求PHP技术精通,OOP编程要熟练!
      5.View并不是理想view,理想中的view可能只是html代码,不会涉及PHP代码。

Lavarel

  • Laravel是一套简洁,优雅的PHP WEB开发框架。集合了PHP比较新的特性,以及各种的设计模式,是一个适合学习的框架,但要求PHP基础扎实熟练。适合大中型项目的开发。

优点:

1.支持Composer
      2.框架结构比较清晰,注重代码的模块化(抽象了中间件,任务,服务等)和可扩展性,路由系统快速高效
      3.支持处理跨站请求伪造,在进行form表单post提交时,必须传入{{ csrf_field() }}
      4.Laravel 的社区很强大,具有丰富的扩展包及工具
      5.具有缓存、身份验证、任务自动化、hash加密、事务等功能
      6.独特的 .env环境文件,方便了系统的配置和不同平台的开发

缺点:

1.基于组件式的框架,所以比较臃肿

CodeIgniter

  • CodeIgniter 是一套小巧但功能强大的、给 PHP 网站开发者使用的 Web 应用程序开发框架和工具包。能为开发者带来快速的快捷的工作。

优点:

1.Code Igniter推崇“简单就是美”这一原则。没有花哨的设计模式、没有华丽的对象结构,一切都是那么简单。几行代码就能开始运行,再加几 行代码就可以进行输出。可谓是“大道至简”的典范。
      2.配置简单,全部的配置使用PHP脚本来配置,执行效率高;
      3.具有基本的路由功能,能够进行一定程度的路由;
      4.具有初步的Layout功能,能够制作一定程度的界面外观;
      5.数据库层封装的不错,具有基本的MVC功能.
      6.快速简洁,代码不多,执行性能高,
      7.框架简单,容易上手,学习成本低,文档详细;
      8.自带了很多简单好用的library,框架适合小型应用.

缺点:

1.本身的实现不太理想。
      2.内部结构过于混乱,虽然简单易用,但缺乏扩展能力。
      3.把Model层简单的理解为数据库操作.
      4.框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要.

评论