app开发者平台在数字化时代的重要性与发展趋势解析
2171
2022-09-01
PHP主流框架优缺点汇总(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。当然,如果自己开发框架也是可以的。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~