Thinkphp5.0和laravel之间的区别

时间:2019-01-17
本文章向大家介绍Thinkphp5.0和laravel之间的区别,主要包括Thinkphp5.0和laravel之间的区别使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Thinkphp:$this->display()

Laravel:return view()

跨站方式:

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

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

路由性:

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

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

中间件:

Thinkphp:没有中间件

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

If和foreach语句区别:

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

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

加密方式:

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

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

aravel里内置了大量的方法供开发者使用,在实际应用中更接近于"让对象完成一切"的开发思想,比如在后台表单验证的时候,Laravel内置了大

量的验证方法,例如对用户名的验证:我们使用可以validate方法里'username'=>'required'(不能为空)|alpha_dash(必须数字字母下划线)

|between:6,18(在多少位数之间);还内置了例如email;same:字段名;diff:字段名等大量的方法极大的提高了开发速度;加密方式 在TP框架中

我们对用户名密码进行加密时使用md5();的方式进行加密,但md5的缺点在于其可以逆向破解,而且在同等规则下同样的密码md5加密出的字符串是

有可能出现相同的,这就降低其安全性;