编程学习网 > 数据库 > PHP主流框架优缺点汇总
2019
09-24

PHP主流框架优缺点汇总

PHP主流框架包括:CodeIgniter、Lavarel、ThinkPHP、CakePHP、Yii、ZendFramework等,下面我们来了解一下这些框架的优缺点。


CodeIgniter

优点:

1.配置简单,全部的配置使用PHP脚本来配置,执行效率高;具有基本的路由功能,能够进行一定程度的路由;具有初步的Layout功能,能够制作一定程度的界面外观;数据库层封装的不错,具有基本的MVC功能。

2.快速简洁,代码不多,执行性能高,PHP框架简单,容易上手,学习成本低,文档详细;自带了很多简单好用的library,框架适合小型应用。

缺点:

1.把Model层简单的理解为数据库操作。

2.PHP框架略显简单,只能够满足小型应用,略微不太能够满足中型应用需要。


Lavarel

优点:

Laravel 的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD 和BDD,作为一个框架,它准备好了一切,composer 是个php 的未来,没有composer,PHP 肯定要走向没落。

laravel 最大的特点和优秀之处就是集合了php 比较新的特性,以及各种各样的设计模式,Ioc 容器,依赖注入等。

缺点:

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


ThinkPHP

优点:

1.易于上手,有丰富的中文文档;

2.框架的兼容性较强,PHP4和PHP5完全兼容、完全支持UTF8等;

3.适合用于中小项目的开发。

缺点:

1.对Ajax的支持不是很好;

2.目录结构混乱,需要花时间整理;

3.上手容易,但是深入学习较难。


CakePHP

优点:

1.CakePHP是最类似于RoR的PHP框架,包括设计方式,数据库操作的Active Record方式;设计层面很优雅,没有自带多余的 library,所有的功能都是纯粹的框架,执行效率还不错;数据库层的 hasOne, hasMany 功能很强大,对于复杂业务处理比较合适;路由功能,配置功能还不错;自动构建脚手架(scaffold)很强大;适合中型应用;基本实现过了MVC每一层;具有自动操作命令行脚本功能。

2.文档比较全,在国内推广的比较成功,大部分都知道CakePHP,学习成本中等。

缺点:

1.CakePHP非常严重的问题是把Model理解为数据库层操作,严重影响了除了数据库之外的操作能力。

2.CakePHP的cache功能略显薄弱,配置功能稍嫌弱;CakePHP不适合大型应用,只适合中型应用,小型应用来说略微的学习成本高了点。


Yii

优点:

1.纯OOP

2.用于大规模Web应用

3.模型使用方便

4.开发速度快,运行速度也快,性能优异且功能丰富

5.使用命令行工具。

缺点:

1.对Model层的指导和考虑较少

2.文档实例较少

3.英文太多

4.要求PHP技术精通,OOP编程要熟练!

5.View并不是理想view,理想中的view可能只是html代码,不会涉及PHP代码。


Zend Framework

优点:

1. 官方出品,自带了非常多的 library,框架本身使用了很多设计模式来编写,架构上很优雅,执行效率中等;MVC设计中,比较简洁,具有路由功能,配置文件比较强大(能够处理XML和php INI),各种 library 很强大,是所有PHP框架中各种功能最全面的,包括它不仅是一个PHP框架,更是一个大类库(取代PEAR),这是它的主要特色;能够直观的支持除数据库操作之外的Model层(比 CodeIgniter 和 CakePHP 强),并且能够很轻易的使用Loader功能加载其他新增加的Class;Cache功能很强大,从前端Cache到后端Cache都支持,后端Cache支持Memcache、APC、SQLite、文件等等方式;数据库操作功能很强大,支持各种驱动(适配器)。

2. 文档很全,在国内社区很成熟,并且目前不少Web 2.0网站在使用,学习成本中等。

缺点:

1. MVC功能完成比较弱,View层简单实现(跟没实现一样),无法很强大的控制前端页面;

2. 没有自动化脚本,创建一个应用,包括入口文件,全部必须自己手工构建,入门成本高;

3. Zend Framework 作为一个中型应用框架问题不大,也能够勉强作为大型应用的PHP框架,但是作为一个很成熟的大型PHP框架来说,还需要一些努力。


目前主流的框架有lavarel,yii,thinkphp。thinkPHP为国内的人开发的框架,是轻量级框架,开发文档是中文,学习比较容易。yii和laravel是外国人开发的框架,性能比较好,但是开发文档是英文的,学习不太方便,所以在PHP初学时期,以thinkPHP框架学习比较合适,当有一定水平后,再学习语法比较严谨和性能比较高的框架,如yii。当然,如果自己开发框架也是可以的。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取