thinkphp相对laravel的区别
作者:
X1_blog | 来源:发表于
2020-06-27 15:54 被阅读0次
以下针对tp框架的优势描述:
-
表单令牌
#tp5
{:token()}
# laravel [强制]
@csrf
-
路由
- tp 支持三种路由模式, URL对SEO友好
- laravel 只支持强制模式, 不定义路由不能用
-
模板渲染
# tp
$this->fetch / display ();
# laravel
return view();
-
操作数据库 :
- 原生sql 查询语法不同
# tp
Db::query / Db::execute
# lar
Db:操作方法('sql 语法');
# 框架支持的sql方法类似
- 两种框架防范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();
-
条件语句语法
# tp
{if} {elseif/}{else /}{/if}
# laravel
@if ()
@elseif ()
@else
@endif
-
升级难度
- tp : 重构量大
- lar : 升级简易
-
tp不重合 laravel 的核心特性
- tp 支持
- laravel 支持
- 依赖注入 (控制反转 loc)
- 服务容器
- 门面模式
- 契约
- 中间件
-
依赖注入使用不同
- tp : 在控制器引入就能用
- lar : 在控制器引入 + 服务注册到服务容器
本文标题:thinkphp相对laravel的区别
本文链接:https://www.haomeiwen.com/subject/vuqvfktx.html
网友评论