本篇文章我们来讲讲PHP四大框架的优缺点都有哪些,让你们在开发中更好的去选择使用哪款PHP框架去完成项目,废话不多说,我们一起来看看吧!!

ThinkPHP

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

优点:

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

缺点:

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

Yii

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

优点:

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

缺点:

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

CodeIgniter

优点:

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

缺点:

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

评价:

总体来说,拿CodeIgniter来完成简单快速的应用还是值得,同时能够构造一定程度的layout,便于模板的复用,数据操作层来说封装的不 错,并且CodeIgniter没有使用很多太复杂的设计模式,执行性能和代码可读性上都不错。至于附加的library 也还不错,简洁高效。

Laravel 框架

优点:

  • Laravel 的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD 和BDD,作为一个框架,它准备好了一切,composer 是个php 的未来,没有composer,PHP 肯定要走向没落。
  • laravel 最大的特点和优秀之处就是集合了php 比较新的特性,以及各种各样的设计模式,Ioc 容器,依赖注入等。

缺点:

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

好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。之前说过,PHP方面的技术点很多,也是因为太多了,实在是写不过来,写过来了大家也不会看的太多,所以我这里把它整理成了PDF和文档,如果有需要的可以戳这里https://shimo.im/docs/rjJttdvCJpYtHpW3/ 《进阶PHP月薪30k>>>架构师成长路线【视频、面试文档免费获取】》

最新文章

  1. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
  2. 2017年"程序媛和工程狮"绝对不能忽视的编程语言、框架和工具
  3. 分享50款 Android 移动应用程序图标【上篇】
  4. Tools - 为知笔记
  5. CSS3里的常用选择器总结
  6. Centos6.5系统初学者基本系统配置1
  7. HDU 4643 GSM 算术几何
  8. 关于c:\fakepath\的解决办法
  9. Windows 7 with SP1简体中文旗舰版(微软MSDN原版)+ 激活密钥
  10. HTML禁止使用右键
  11. IntelliJ IDEA 发布13版本——创造java奇迹
  12. Java 递归调用 recursive 给一个参数 返回一大堆
  13. ●CodeForces 549F Yura and Developers
  14. C3垂直居中均分
  15. python3中的 zip()函数 和python2中的 zip()函数 的区别
  16. iead2018创建JavaWe工程
  17. matplotlib柱状图-【老鱼学matplotlib】
  18. python 代码模板
  19. cf1108e 线段树区间更新+扫描线
  20. CentOS安装JDK9

热门文章

  1. window.locationbar
  2. [转]什么是 C 和 C ++ 标准库?
  3. Unity3d 拖拽脚本报错Can't add the script component "" because the script class cannot be found
  4. Redis常用数据类型及其存储结构(源码篇)
  5. fixed实现遮罩层,小程序
  6. ffmpeg:为视频添加静态水印
  7. Oracle 开启或关闭归档
  8. SpringBoot(三):SpringBoot热部署插件
  9. .Net Core 3.1浏览器后端服务(四) 你眼中的依赖注入与我相同吗?
  10. 腾讯云容器服务 TKE 拿下新加坡 MTCS 最高级别安全认证