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教程】