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

点击右上方关注开源中国OSC头条号,获取最新技术资讯 。
5.2经过测试版本几个月的迭代,正式进入发布候选 。之后,重点将放在扩展和文档改进上 。当然也不排除内核微调的可能 。
ThinkPHP5.2RC1版本5.2RC1,继上一个版本beta3发布之后,主要更新如下:
新特点
支持在集合中查找查询
为FIND_IN_SET添加了新的查询表达式支持,只需使用以下查询:
Db::name('user')->where('group_list', 'find in set', 2)->select(); 添加了分区查询支持 。
增加了对分区的支持(需要MySQL5.6+版本5.6+) 。例如,如果将用户表划分为p1和p2,可以使用以下查询:
Db::name('user')->partition('p1')->insert(['name' => 'think']);Db::name('user')->partition(['p1', 'p2'])->select();Db::name('user')->partition(['p1', 'p2'])->where('name', 'think')->update(['name' => 'thinkphp']);Db::name('user')->partition('p1')->where('name', 'think')->delete(); 添加了对重复更新的支持 。
支持重复更新,例如:
Db::name('user')->duplicate(['score' => 10])->insert(['name' => 'think']); 添加额外的方法来设置查询的附加参数 。
extra方法可用于CURD查询,例如:
Db::name('user')->extra('IGNORE')->insert(['name' => 'think']);Db::name('user')->extra('DELAYED')->insert(['name' => 'think']);Db::name('user')->extra('SQL_BUFFER_RESULT')->select(); 添加单个数据以使用更清晰、更有效的INSERT SET语法,如以下查询 。
Db::name('user')->insert(['name' => 'think', 'score' => 100]); 生成的实际SQL语句是
INSERT INTO user SET `name` = 'think', `score` = 100 添加whereFieldRaw查询方法 。
此方法用于使用SQL函数查询字段,例如:
User::whereFieldRaw('date_format("create_time", "%Y")', '2019')->select();User::whereFieldRaw('date_format("create_time", "%Y")', '>', '2018')->select(); Query类的update方法支持获取模型的更新条件 。
现在可以直接使用模型的查询条件作为Db类更新方法的数据更新条件,例如:
$user = User::find(1);$user->field(['name'])->update(['name' => 'thinkphp']); 类将快速查询(筛选)方法添加到数据集中 。
ThinkCollection类增加了where like/where like/where in/where not in/where between/where between等快捷方法,用来更方便的筛选数据,而不是使用不够直观的where方法 。
添加优化:外观指令 。
您可以使用此指令在本地开发期间为Facade类生成相应类的方法注释 。定义Facade类时,只需要在类的注释中添加@mixin选项 。比如使用@mixin thinkDb注释,使用optimize:facade指令后,thinkDb类的公共方法注释会在类的注释中自动生成,便于IDE自动提示 。最好明确指定每个类的方法的返回值类型(如果没有返回值,使用void),否则在注释中会使用混合返回类型 。
添加了新的表达式查询解析扩展 。
【thinkphp最新版本是什么,thinkphp开发工具及搭建教程】添加了一个新的thinkdbExpression类(原来的Expression类已更改为Raw类),用于查询表达式的扩展解析 。您只需要自定义一个表达式解析类,例如:


    推荐阅读