插件窝 干货文章 thinkphp5与laravel的区别是什么

thinkphp5与laravel的区别是什么

laravel strong thinkphp 中间件 73    来源:    2024-10-27
thinkphp5与laravel的区别:1、thinkphp中使用“$this->display()”方式来渲染模版,而laravel中使用“return view()”;2、跨站方式不同;3、路由不同;4、thinkphp没有中间件,laravel有中间件;5、加密方式不同。

本教程操作环境:windows7系统、Laravel6&&thinkphp5版,DELL G3电脑。

Laravel框架与thinkphp5框架的哪些区别

首先就是它们渲染模板的方式不同:

Thinkphp语句是:$this->display()

立即学习“PHP免费学习笔记(深入)”;

Laravel语句是:return view()

第二种是它们的跨站方式不同:

Thinkphp需要手动完成防止跨站攻击的代码

Laravel考虑到跨转请求伪造,使用form表单以post方式传值,并且要在form表单中加入{{ csrf_field() }}来完成,不加会{{csrf_field}}显示token令牌错误

第三点就是路由不同:

Thinkphp(3.2)必要要填写控制器,否则无法访问

Lavarel是一个重路由的框架,所有的功能都是由路由发起的。他可以没有控制器方法,没有模型,没有视图,但是一定要有路由。

第四点就是中间件:

Thinkphp:没有中间件

Laravel:具有中间件,可以实现访问前后的处理(请求和返回,权限认证等)

第五点就是加密方式不同:

Thinkphp:它采用的是thinkphp内置算法中的md5()加密算法,易被外界逆向破解,强行破除。

Laravel:采用的是内置的hash加密(单向加密方法),没有逆向破解的说法.

laravel里内置了大量的方法供开发者使用,在实际应用中更接近于"让对象完成一切"的开发思想,比如在后台表单验证的时候,Laravel内置了大量的验证方法,例如对用户名的验证:我们使用可以validate方法里’username’=>‘required’(不能为空)|alpha_dash(必须数字字母下划线)等

第六点就是If和foreach语句区别:

Thinkphp:和原生php中的写法一致

Laravel:在编写的时候一定要添加@符号(@if-@endif @foreach-@endforeach)

【相关推荐:laravel教程、thinkphp教程】