美文网首页
thinkphp相对laravel的区别

thinkphp相对laravel的区别

作者: X1_blog | 来源:发表于2020-06-27 15:54 被阅读0次

以下针对tp框架的优势描述:

  1. 表单令牌

#tp5 
{:token()}
# laravel [强制]
@csrf
  1. 路由

    1. tp 支持三种路由模式, URL对SEO友好
    2. laravel 只支持强制模式, 不定义路由不能用
  2. 模板渲染

    # tp
    $this->fetch / display ();
    # laravel
    return view();
    
  3. 操作数据库 :

    1. 原生sql 查询语法不同
    # tp
    Db::query / Db::execute
    # lar
    Db:操作方法('sql 语法');
    # 框架支持的sql方法类似
    
    1. 两种框架防范sql注入 ( 实现预处理的区别 )
    # tp 
    where/ query / execute 方法支持预处理, 需要手动写参数绑定 ; 支持不定长参数和数组传参两种方式
    $model->query('select * from user where id=%d and status=%d',$id,$status);
    $model->query('select * from user where id=%d and status=%d',array($id,$status));
    # lar 提供Eloquent模型, 每个表对应一个数据模型, 使用数据模型查询默认使用pdo参数绑定; 使用raw sql不启动预处理, 支持手动绑定参数
    User::where('name', $input_name)->first();
    User::whereRaw("name = ?", [$input_name])->first();
    
  4. 条件语句语法

    # tp
    {if} {elseif/}{else /}{/if}
    # laravel
    @if ()   
    @elseif ()
    @else
    @endif
    
  5. 升级难度

    1. tp : 重构量大
    2. lar : 升级简易
  6. tp不重合 laravel 的核心特性

    1. tp 支持
      • 依赖注入 (控制反转 loc)
    2. laravel 支持
      • 依赖注入 (控制反转 loc)
      • 服务容器
      • 门面模式
      • 契约
      • 中间件
  7. 依赖注入使用不同

    1. tp : 在控制器引入就能用
    2. lar : 在控制器引入 + 服务注册到服务容器

相关文章

网友评论

      本文标题:thinkphp相对laravel的区别

      本文链接:https://www.haomeiwen.com/subject/vuqvfktx.html