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()
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教程】
以上就是thinkphp5与laravel的区别是什么的详细内容。