laravel和thinkphp的区别是什么?

laravel和thinkphp的区别是什么?,第1张

一、渲染模版方式的不同

1、在Laravel框架里,使用return view()来渲染模版;

2、而ThinkPHP里则使用了$this->display()的方式渲染模版。

二、条件判断语句书写方式不同
1、Laravel框架里if else判断语句和foreach语句,书写时必须以@if开头,以@endif结尾。如果没有则报语法错误,@foreach @endforeach同理;

2、而TP框架则和PHP语法规则使用方式一致,直接用if esle语句判断和foreach循环遍历

三、post传值中注意点不同
1、在Laravel框架里,由于其考虑到了跨站攻击,所以如果使用form表单以post方式进行传值时,如果不再form表单中加入{{csrf_field()}}则会报出TokenMethodnotfound的语法错误,

2、而TP框架则需要自己手动完成防止跨站攻击的代码。

四、加密方式不同
1、在TP框架中,我们对用户名密码进行加密时使用md5();的方式进行加密。但md5的缺点在于其可以逆向破解,而且在同等规则下同样的密码md5加密出的字符串是有可能出现相同的,这就降低其安全性。

2、但在Laravel框架中内置了"哈希"Hash加密单向加密方法,且同样的参数加密出的字符串是绝对不会出现相同的情况,这就提高了安全性。

扩展资料:

在实际开发中常常遇到这样的问题,就是开发地点不固定。这就造成了需要频繁的更改数据库配置,给开发工作造成了麻烦。TP依然没有避免这个"灾难",在laravel框架中,env环境文件的出现解决了这个麻烦。需要在不同的工作地点配置好env文件就不避再进行配置,因为无论是git还是svn,“env是不会随着文件一起提交到服务器的”。

推荐学习路径

1 框架的使用知识学习

基于以上的思想,我创建了 《Laravel 实战课程》,计划中有三本(也有可能更多),分别是:

第一本 —— 《Laravel 入门教程 - 从零到部署上线》

第二本 —— 《Laravel 进阶课程 - 从零开始构建论坛系统》

第三本 —— 《Laravel 高级课程 - 构架 API 服务器》

第一本书教授如何使用 Laravel 一步一步构建一个类似新浪微博的应用,书中很多技术话题会被一带而过,这是有意而为之的,我们希望让读者保持对编码线索的专注,不被篇幅悠长的名词解释分心。通过阅读本教程,你将学到如 HTML、CSS、JavaScript、PHP 和 Laravel 等 Web 开发相关的基础知识。不仅如此,本书还会对这些基础知识点进行延伸扩展,为你讲解一些在 Web 开发中更为专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流、Bootstrap 框架基本使用等。这些知识将为你未来的编程开发奠定下坚实的基础。

第二本以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。编码规范遵循 Laravel 项目开发规范 ,应用程序架构思路贴近 Laravel 框架的设计哲学。在论坛系统的构建中,我们将学到多角色用户权限系统、管理员后台、注册验证码、上传、裁剪,XSS 防御、自定义命令行、自定义中间件、任务调度、队列系统的使用、应用缓存、Redis、模型事件监控、表单验证、消息通知、邮件通知、模型修改器等知识。在本课程的学习中,你不仅能学到使用 Laravel 开发一个论坛项目,还能学到安全优先、高扩展性的大型项目架构经验。

第三本将以构建 API 服务器为目标,来展开。目前本课程正在紧张撰写中,敬请期待。

2 框架的底层实现学习

学完了以上三本书,你将拥有一定的项目开发经验,对框架的功能使用也会有一个比较全面的系统性理解。这时候,会是学习『底层实现』的好时机。

底层实现的知识学习,可以从文档开始,打开 Laravel 的文档中心 —— dlaravel-chinaorg ,找到最新版本的 Laravel 文档,然后仔细阅读 2、3 遍。因为有了上面的项目经验,此时的文档阅读啃起来会轻松多了。
阅读文档后,可以尝试看下 Laravel 底层的源码,看看这些框架的功能都是怎么实现的。

学习过程中可以适当做笔记,例如:

zhangbao 同学的 Laravel 文档阅读笔记

leoyang 同学的 Laravel 源码分析笔记

错误的学习方法

一上来就开始啃文档 dlaravel-chinaorg 。

如果你是新手,有太多的新概念你需要学习,你会发现学习起来非常艰难,甚至怀疑文档是不是写的太烂了(社区里经常出现这种抱怨)。
事实上,不是文档写的太烂,而是你把文档用错了。文档的『目的』是快速查阅,一份优秀文档的标准是语言简练,释义,这个 Laravel 的文档做的很棒。但是,文档并不适合做入门学习使用,上面我们已经讲过,原因是信息量太大。

寻找网络上零散的课程进行学习。

如果你想学习单个概念,这些零散的小课程会很方便。但是,如果是想以阅读大量课程来达到系统性学习的目的,你将会很失望。很多时候你会感觉 —— 你好像学了很多,学了很久,以为自己学会了,但是心里还是没底气。
你需要的是通过项目,完整的项目,将所有的知识串起来去记忆。你的作品,清清楚楚摆在面前,看着你一步步构建出来的一套系统,自信心也会有所增加。

一开始就学习高级话题,如 服务容器、服务提供器、Facades、Contracts、Repository 等

很多时候你会发现这些话题晦涩难懂,很难学习。并且即使你毅力比较好,死记硬背,很快也会忘记,学习效率非常低下。然后最重要的,学会这些概念,并无法使你掌握构建一个完整项目的能力。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10832473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存