初学Laravel框架与ThinkPHP框架的不同

作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正...      

    1.渲染模版方式的不同:在Laravel框架里,使用return view()来渲染模版;而ThinkPHP里则使用了$this->display()的方式渲染模版;

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

    3.Laravel框架提供了大量的闭包,作为菜鸟的我目前只使用了use方法,即如何在函数内部使用外层变量

    

    

    4.post传值中注意点不同:在Laravel框架里,由于其考虑到了跨站攻击, 所以如果使用form表单以post方式进行传值时,如果不再form表单中加入{{csrf_field()}}则会报出TokenMethodnotfound的语法错误;而TP框架则需要自己手动完成防止跨站攻击的代码;

    

    5.条件判断语句书写方式的差异:Laravel框架里 if else判断语句和foreach语句 书写时必须以@if开头  以@endif结尾,如果没有则报语法错误,@foreach @endforeach同理;而TP框架则和PHP语法规则使用方式一致直接ifesle语句判断和foreach循环遍历

    

    6.Laravel里内置了大量的方法供开发者使用,在实际应用中更接近于"让对象完成一切"的开发思想,比如在后台表单验证的时候,Laravel内置了大量的验证方法,例如对用户名的验证:我们使用可以validate方法里'username'=>'required'(不能为空)|alpha_dash(必须数字字母下划线)|between:6,18(在多少位数之间);还内置了例如email;same:字段名;diff:字段名等大量的方法极大的提高了开发速度;

    

    代码有待完善  只是实验用

    7.加密方式

      在TP框架中 我们对用户名密码进行加密时使用md5();的方式进行加密,但md5的缺点在于其可以逆向破解,而且在同等规则下同样的密码md5加密出的字符串是有可能出现相同的,这就降低其安全性;但在Laravel框架中内置了"哈希"Hash加密单向加密方法,且同样的参数加密出的字符串是绝对不会出现相同的情况 这就提高了安全性

 

在经过了一段时间的开发后,我对Laravel框架的认识又在逐步的加深,对于这个世界占有量NO.1的框架...  我想说,我已经在逐步的感受到他的恐怖之处...

   8.建表--Laravel在数据库建表上有自己独立内置的结构,可以完全不用借助原生SQL语句或者SQLyogEnt、Navicat 这样的建表工具,进行数据库的建立,增删改查,和数据交互;我想这可能是它牢牢占据NO.1的一大靓点;在ThinkPHP中则需要我们借助SQL语句或者建表工具去逐步完善数据

    8.1.首先我们需要建立模型:我用的是gitbash,gitbash是Windows下的命令工具,基于msys GNU环境,有git分布式版本控制工具,主要应用于git.但是在Laravel里也可以直接使用     php artisan  make:model Models/GoodsModel -m 完成模型的创建和建表结构的创建(/database/migrations)

    

    8.2.向goods数据表填充数据,要注意数据的类型是严格区分的,并且一定要加..编程之友:注释君;添加完后使用php artisan migrate命令完成表的创建;可以自行YY下 多表同时创建的那种"还有谁"的感觉;

Schema::create('goods', function (Blueprint $table) {
$table->increments('id')->comment('商品主键');
$table->string('title')->comment('商品的标题');

    

    8.3.假设某个字段不符合要求或者需要添加字段怎么办,无须担心,从github中pull下项目后在数据表里直接修改  只需要用php artisan migrate:refresh

    ,然后今天的工作结束后push到github库里,其他小伙伴在更新后就可以直接使用新的数据表结构,而且还可以看到更改记录...这是开发者的一大福音~~

  9.ORM---在介绍建表时已经使用了创建模型的命令,php artisan make:model  XXX;Laravel里模型是对面向对象开发思想最好的诠释,让对象帮我们完成需求;

    摘自5.1手册:(Laravel 的 Eloquent ORM 提供了漂亮、简洁的 ActiveRecord 实现来和数据库进行交互。每个数据库表都有一个对应的「模型」可用来跟数据表进行交互。你可以通过模型查找数据表内的数据,以及将记录添加到数据表中。)

    本人在实际使用中也实实在在的感受到了通过创造模型对数据表操作带来的便利,譬如批量赋值,跨表查询,删除模型和软删除,模型关联,当然这些在TP框架中也可以利用模型实现,这一点属于仁者见仁智者见智;根据个人喜好而定

  10:session的用法

    10.1.ThinkPHP对Session操作进行了封装,并且无需引入就可以使用,Session的启动会在应用初始化的时候自动执行,所以无需手动使用Session::start() 来启动Session。
            使用Session类操作和普通方式调用$_SESSION来操作并没有本质不同,只是Session类很多参数可以根据项目配置来灵活设置,最常用的操作方法示例: // 检测Session变量是否存在:Session::is_set('name');  // 给Session变量赋值:Session::set('name','value');// 获取Session变量:Session::get('name');
    10.2.Laravel中Session的常用方法有
    $request->session()->get('key');//获取session里的某个键名
    $request->session()->set('key','default');//设定一个默认值,当指定键名不存在便返回默认值
    $request->session()->all()返回所有数据
    session('k'=>$v)写入session保存数据;
    以及闪存数据session()->flash();和保留特定数据->keep(['','']);

    也可以自定义session驱动

  转自:麦先生     博客地址:http://www.cnblogs.com/maixiansheng

转载于:https://www.cnblogs.com/qiguaideta/p/11526637.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: LaravelThinkPHP都是流行的PHP框架,它们都提供了一种快速开发Web应用程序的方法。以下是它们之间的一些对比: 1. 社区支持:Laravel的社区相对较大,有更多的开发者和资源可用。而ThinkPHP在中国的使用较为广泛。 2. 编程风格:Laravel采用了现代化的编程范式,例如面向对象编程(OOP)和MVC架构。它还提供了一些便捷的工具和语法糖,如集合和Eloquent ORM。而ThinkPHP则更加传统,采用类似于PHP的过程式编程和基于目录的MVC架构。 3. 性能:在性能方面,两个框架都表现良好。Laravel在最近的版本中进行了优化,而ThinkPHP也不断更新以提高性能。 4. 学习曲线:对于有经验的开发者而言,Laravel可能更容易上手,因为它提供了更多的工具和功能。然而,对于初学者而言,ThinkPHP可能更容易理解和学习。 综上所述,选择Laravel还是ThinkPHP取决于项目需求和开发团队的偏好。如果需要现代化的工具和更大的开发社区,则Laravel可能更适合。而如果项目需求相对简单,并且需要支持中文开发和文档,则ThinkPHP可能更合适。 ### 回答2: LaravelThinkPHP都是PHP语言的重要开源框架,都有自己的优点和适用性。下面比较一下两者之间的差异。 1. 性能对比 在性能方面,LaravelThinkPHP两种框架都有不错的表现。Laravel主要是针对功能和设计的优化,而ThinkPHP则强调性能和速度。因此,使用ThinkPHP可以开发出更快且轻量的应用程序,而Laravel则更有可能开发出比较复杂和高级的应用程序。 2. 学习难度对比 Laravel是一个非常成熟和高级的框架,因此需要掌握更多的PHP知识和技能。相比之下,ThinkPHP则更加容易学习和使用,尤其适合初学者和小型项目开发。 3. 设计模式对比 Laravel使用了一些新的设计模式,如“服务容器”和“依赖注入”,对于大型应用程序来说,这些模式有很大的优势,特别是在维护和代码管理方面。而ThinkPHP则更加注重MVC模式,因此易于管理,但缺乏灵活性和扩展性。 4. 集成度对比 Laravel大多数都是基于Composer模块化的设计,因此可以很方便地实现集成。而ThinkPHP则提供了很多插件和接口,便于实现多系统的集成和应用之间的交互。 5. 社区支持对比 由于Laravel是国外的框架,因此其社区支持和开发资源更加充足和全面,如果需要更多的支持和社区资源,建议选择Laravel。而ThinkPHP有着庞大的国内用户群体和社区支持,所以需要更多中文支持的开发者应该选择ThinkPHP。 总体而言,LaravelThinkPHP各有优势,具体如何选择要看自己的需求和技术实力。如果仅仅是希望快速地实现小型项目,那么ThinkPHP可能更加适合;如果需要开发比较复杂和高级的应用程序,Laravel则会有更多的优势。所以,开发者可以根据自己的实际情况,做出最合适的选择。 ### 回答3: LaravelThinkPHP都是目前最受欢迎的PHP框架之一。虽然它们所做的事情相似,但它们之间还是有一些区别。 1. 性能 在性能方面,LaravelThinkPHP都表现出色。然而,Laravel在缓存和查询效率方面相对ThinkPHP更快。这得益于它采用了Blade模板引擎和Eloquent ORM等现代技术。 2. 学习曲线 ThinkPHP由于它的简单易学和易使用性而成为许多初学者的第一个选择。Laravel则需要花费更多的时间学习。它有更多的奇技淫巧和更多的组件,因此有更高的学习曲线。不过,Laravel文件和教程的数量也比ThinkPHP更多。 3. 开发速度 Laravel鼓励开发人员使用现代技术,如Composer和Packagist。它也提供了更好的文档和教程。这使得Laravel在开发效率方面比ThinkPHP更胜一筹。 4. 扩展性 Laravel的扩展性完全依赖于Composer,这使它易于扩展和搭配其他组件。ThinkPHP则使用PHP扩展和功能函数进行扩展,这也是一种不错的方式,但不如Composer灵活。 5. 使用人数 虽然两者都有强大且活跃的开发社区,但ThinkPHP在中国的影响力比Laravel更大。 总的来说,Laravel在现代性和灵活性方面更胜一筹,而ThinkPHP则在中国的使用率相对更高。无论您选择哪种框架,都应该先根据项目的需求和开发的规模和复杂性进行评估。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值