框架的优缺点

一、yaf框架的优缺点

  1. 各有特点,不能直观地分好坏。Yaf是用PHP扩展的形式写的一个PHP框架,也就是以C语言的编写,性能上要比PHP代码写的框架要快一个数量级。在执行效率方面,这个框架很可能会是最高的。

  2. 因为它的作者就是惠新宸,框架作者本身对PHP底层执行非常了解。Laravel,我了解不多,但是,它以优雅简洁著称。如果业务性能压力大,需要耗费很多机器,推荐采用前者。如果项目更追求结构清晰,管理优雅,推荐后者。

  3. 如果你想要学习理解PHP,可以尝试使用yaf并理解其源码。如果你想快速撸一个Web应用或API服务出来,没有比Laravel更好用的框架了。

  4. 没有比较完整的组件工具库。基本靠第三方,或自己造轮子。

  5. 因为是基于pecl扩展的框架,运维 部署 开发都带来了一定的麻烦

  6. yaf现在只是最快的框架,但不一定很完美,这是作者说的

  7. 优点: 1.yaf框架相当原生的php,几乎不会带来额外的性能开销;

        2.所有的框架类不需要编译,在php启动时自动加载,常驻内存;

        3.更短的内存周转周期,更快的执行速度,更少的占用内存;

  8. 缺点:   1.相关的资料文档比较少

                  2.框架的搭建比较麻烦:运维  、部署等

二、laravel框架

适用于中大型项目

优点
1.laravel的设计思想是很先进的,非常适合应用各种开发模式TDD, DDD 和BDD
2.支持composer包管理工具
3.集合了php 比较新的特性,以及各种各样的设计模式,Ioc 容器,依赖注入、门面、契约。测试功能等。

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

三、thinkPHP框架

适用于中小型项目

四、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.使用命令行工具。
  • 6.支持composer包管理工具

缺点:

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

TP和Laravel的主要区别:

主要区别:(thinkPHP更适合国人的编码习惯)
1.渲染模版方式的不同:
在Laravel框架里,使用return view()来渲染模版;
而ThinkPHP里则使用了$this->display()的方式渲染模版;
2.在Laravel框架里,由于其考虑到了跨站请求伪造, 所以如果使用form表单以post方式进行传值时,如果不再form表单中加入{ {csrf_field()}}则会报出TokenMethodnotfound的语法错误;
而TP框架则需要自己手动完成防止跨站攻击的代码;
3.Laravel是一个重路由的框架(5.4),所有的功能都是由路由发起的,哪怕没有控制器方法,只要写了路由就能够访问,thinkPHP(3.2),必须要有控制器方法才能正常访问;(Laravel框架还提供了一个简洁的路由模型绑定(route model binding),其中模型(model)可以绑定到路由。有了这个帮助,视图可以直接从路由本身返回,甚至不需要访问控制器)
4.laravel具有强大的社区化扩展,(composer扩展自动加载);
5.laravel具有强大的Blade模版引擎;
6.中间件,Laravel特点,可以实现访问前后的处理,例如请求和返回,权限认证等;
7.条件判断语句书写方式的差异:
Laravel框架里 if else判断语句和foreach语句 书写时必须以@if开头  以@endif结尾,如果没有则报语法错误,@foreach @endforeach同理;     

而TP框架则和PHP语法规则使用方式一致直接ifesle语句判断和foreach循环遍历

8.  加密方式 在TP框架中 我们对用户名密码进行加密时使用md5();的方式进行加密,但md5的缺点在于其可以逆向破解,而且在同等规则下同样的密码md5加密出的字符串是有可能出现相同的,这就降低其安全性;
但在Laravel框架中内置了“哈希”Hash加密单向加密方法,且同样的参数加密出的字符串是绝对不会出现相同的情况 这就提高了安全性;

9.  .env文件    解决数据库配置不同的问题; 开发地点不固定,需要频繁的更改数据库配置,给开发工作造成了麻烦,TP依然没有避免这个”灾难”;在laravel框架中,.env环境文件的出现解决了这个麻烦,我们只需要在不同的工作地点配置好.env文件就不必再进行配置,因为无论是git还是svn ” .env是不会随着文件一起提交到服务器的”;
 

    原文作者:呦呦切克闹_666
    原文地址: https://blog.csdn.net/syy_666/article/details/104965439
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞