thinkPHP和laravel的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。区别:1、Laravel用“return view(
thinkPHP和laravel的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
区别:1、Laravel用“return view()”来渲染模版;Thinkphp用“$this->display()”方式渲染模版。2、post传值中注意点不同。3、条件判断语句书写方式的差异。4、加密方式不同。5、建表方式不同。
本教程操作环境:windows7系统、Laravel6版、Dell G3电脑。
主要区别:(thinkPHP更适合国人的编码习惯)
1、渲染模版方式的不同
在Laravel框架里,使用return view()来渲染模版;而ThinkPHP里则使用了$this->display()的方式渲染模版。
2、post传值中注意点不同
在Laravel框架里,由于其考虑到了跨站攻击,所以如果使用fORM表单以post方式进行传值时,如果不再form表单中加入{{csrf_field()}}则会报出TokenMethodnotfound的语法错误,而TP框架则需要自己手动完成防止跨站攻击的代码。
3、条件判断语句书写方式的差异
Laravel框架里if else判断语句和foreach语句,书写时必须以@if开头,以@endif结尾。如果没有则报语法错误,@foreach @endforeach同理;
而TP框架则和PHP语法规则使用方式一致,直接用if esle语句判断和foreach循环遍历。
4、加密方式
在TP框架中,我们对用户名密码进行加密时使用md5();的方式进行加密。但md5的缺点在于其可以逆向破解,而且在同等规则下同样的密码md5加密出的字符串是有可能出现相同的,这就降低其安全性。但在Laravel框架中内置了”哈希”Hash加密单向加密方法,且同样的参数加密出的字符串是绝对不会出现相同的情况,这就提高了安全性。
5、建表
Laravel在数据库建表上有自己独立内置的结构,可以完全不用借助原生sql语句或者SQLyogEnt、Navicat这样的建表工具进行数据库的建立,增删改查和数据交互。我想这可能是它牢牢占据NO.1的一大亮点,在ThinkPHP中则需要我们借助SQL语句或者建表工具去逐步完善数据。
5.1、首先我们需要建立模型:我用的是gitbash。gitbash是Windows下的命令工具,基于msys GNU环境,有git分布式版本控制工具,主要应用于git。但是在Laravel里也可以直接使用:php artisan make:model Models/GoodsModel -m 完成模型的创建和建表结构的创建(/database/migrations)。
5.2、向goods数据表填充数据,要注意数据的类型是严格区分的,并且一定要加。添加完后使用php artisan migrate命令完成表的创建。
Schema::create(‘goods', function (Blueprint $table) {
$table->increments(‘id')->comment(‘商品主键');
$table->string(‘title')->comment(‘商品的标题');
8.3、假设某个字段不符合要求或者需要添加字段怎么办?无须担心,从GitHub中pull下项目后在数据表里直接修改,只需要用:
php artisan migrate:refresh
6、Laravel是一个重路由的框架(5.4),所有的功能都是由路由发起的,哪怕没有控制器方法,只要写了路由就能够访问,thinkPHP(3.2),必须要有控制器方法才能正常访问;
7、laravel具有强大的社区化扩展,(composer扩展自动加载);
9、laravel具有强大的Blade模版引擎;
9、中间件,Laravel特点,可以实现访问前后的处理,例如请求和返回,权限认证等;
看完上述内容,你们掌握thinkphp和laravel的区别是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网PHP编程频道,感谢各位的阅读!
--结束END--
本文标题: thinkphp和laravel的区别是什么
本文链接: https://lsjlt.com/news/81723.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0