首页 > 作文

thinkphp最新版本是什么,thinkphp开发工具及搭建教程

更新时间:2023-04-06 00:18:04 阅读: 评论:0

点击右上方,关注开源中国osc头条号,获取最新技术资讯

5.2在经过几个月的测试版本迭代后,正式进入候选版本。之后的重点工作会是扩展以及文档的完善。当然,不排除核心还有微调的可能。

thinkphp5.2rc1版本继上个版本beta3版本发布以来,主要更新如下:

新特性

支持find_in_t查询

增加了新的查询表达式对find_in_t的支持,使用下面的查询即可:

db::name('ur')->where('group_list', 'find in t', 2)->lect();

增加了分区查询支持

增加了对分区的支持(需要mysql5.6+版本),例如你对ur表分了p1和p2两个分区,你可以使用下面的查询:

db::name('ur')->partition('p1')->inrt(['name' => 'think']);
db::name('ur')->partition(['p1', 'p2'])->lect();
db::name('ur')->partition(['p1', 'p2'])->where('name', 'think')->update(['name' => 'thinkphp']);
db::name('ur')->partition('p1')->where('name', 'think')->delete();

增加了on duplicate update支持

支持on duplicate update,例如:

db::name('ur')->duplicate(['score' => 10])->inrt(['name' => 'think']);

增加extra方法设置查询额外参数

extra方法可以用于curd查询,例如:

db::name('us正切和余切的关系er')->extra('ignore')->inrt(['name' => 'think']);
db::name('ur')->extra('delayed')->inrt(['name' => 'think']);
db::name('ur')->extra('sql_buffer_result')->lect();

新增单个数据债券投资改为使用更清晰和高效的inrt t语法,例如下面的查询

db::name('ur')->inrt(['name' => 'think', 'score' => 100]);

实际生成的sql语句是

inrt into ur t `name` = 'think', `score` = 100

增加wherefieldraw查询方法

该gold什么意思方法用于对字段使用sql函数查询,例如:

ur::wherefieldraw('date_format("create_time", "%y")', '2019')->lect();
ur::wherefieldraw('date_format("create_time", "%y")', '>', '2018')->lect();

query类的update方法支持获取模型的更新条件

现在可以直接使用模型的查询条件作为db类update方法的数据更新条件,例如:

$ur = ur::fi蒹葭赏析n苹果公司简介d(1);
$ur->field(['name'])->update(['name' => 'thinkphp']);

数据集类增加快捷查询(过滤)方法

thinkcollection类增加wherelike/wherenotlike/wherein/wherenotin/wherebetween/wherenotbetween等快捷方法,用于更方便的进行数据筛选而替代使用不够直观的where方法。

增加optimize:facade指令

可以在本地开发的时候使用该指令为facade类生成对应类的方法注释。你只需要在定义facade类的时候,在类的注释中添加 @mixin 选项,例如使用@mixin thinkdb注释后,使用optimize:facade指令后,就会在类的注释中自动生成thinkdb类的相关public方法注释,方便ide自动提示,每个类的方法返回值类型最好明确指定(没有返回值的则使用void),否则注释中会使用mixed返回类型。

增加新的表达式查询解析扩展

增加了新的thinkdbexpression类(原来的expression类已经更改为raw类)用于查询表达式的扩展解析,你只需要自定义一个表达式解析类,例如:

<?php
namespace appcommonexpression;
u thinkdbexpression;
class rlike extends expression
{
/**
* 分析查询表达式
*
* @param query $query 查询对象
* @param string $key
* @param string $exp
* @param string $field
* @param integer $bindtype
* @return string
*/
public function par(query $query, string $key, string $exp, string $field, int $bindtype): string
{
if ($this->value instanceof raw) {
$value = $this->value->getvalue();
} el {
$value = $this->value;
}

return $key .' rlike ' . $value ;
}
}

现在我们就可以使用下面的查询语法了:

ur::where('name', 'rlike', new appcommonexpressionrlike('^think'))->lect();

提供了关闭事件机制的方法

如果你完全不需要使用事件机制,可以在入口文件中使用withevent方法关闭事件功能。

(new app())->withevent(fal)->run()->nd();

不过值得提醒的是,新版的路由功能、多语言支持和请求缓存功能都是利用了事件机制响应的。

用法调整

原来query类的raw方法移动到db类

虽然用法上没有改变,但db::raw()方法的调用效率会更高一些。或者你可以直接使用新的助手函数raw替代db::raw。

原来的expression类改为raw类

原来的thinkdbexpression类更改为thinkdbraw类,更加贴切。

多对多关联的pivotdataname方法更名为name方法

使用更加简洁的name方法替代原来的pivotdataname方法。

废弃用法和参数

取消query类的extend方法

取消了query类的extend方法,如果需要扩展查询方法,建议自定义query类并继承系统的thinkdbquery类即可,然后在模型中定义query属性或者配置数据库连接的query参数为你的自定义类。

取消request类的hook方法

由于不建议扩展request类的方法,该方法已经在最新版本中取消。

取消url参数模式配置

原来的url参数模式配置参数url_param_type,统一使用参数/值的方式。

更新日志

改进url类build方法修复获取当前页码数据类型修正parkey方法传入数值的情况改进optimize:config指令对declare申明的支持取消url参数模式配置增加optimize:facade指令用于生成facade类的方法注释取消query类的extend方法原来的expression类更改为raw类增加新的expression类用于表达式查询扩展collection类增加wherelike/wherenotlike/wherein/wherenotin/wherebetween/wherenotbetween等快捷方法query类的raw方法移动到db类取消request类的hook方法修正route::view方法优化模型获取器方法多对多关联的pivotdataname方法更名为name方法query类增加partition/duplicate/extra方法改进mysql驱动支持分区和duplicate以及额外参数mysql驱动的inrt方法改用更清晰的inrt t语法修正event类bind属性定义修正验证类的append一处bug改进query类update方法支持读取模型的更新条件取消模型类的getupdatewhere方法统一使用getwhere方法改进query类的fetcharray方法处理改进路由类取消app属性增加thinkfacaderulename类增加wherefieldraw查询方法改进自动多应用名称获取app类增加withevent方法支持关闭事件机制改进dispatch类对var_dump的支持改进hasmany的withcount自关联修正纯数字检测参数类型转换问题修正raw助手函数mysql支持find_in_t查询改进url方法对自动多应用的支持

本文发布于:2023-04-06 00:18:03,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/c434ec13ea849f4f2a4d3e0313ccf431.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:thinkphp最新版本是什么,thinkphp开发工具及搭建教程.doc

本文 PDF 下载地址:thinkphp最新版本是什么,thinkphp开发工具及搭建教程.pdf

标签:方法   参数   注释   表达式
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图