ThinkPHP V5.1.0 发布 —— 12 载初心不变,新年献礼! - 开源中国社区
Float_left Icon_close
ThinkPHP V5.1.0 发布 —— 12 载初心不变,新年献礼!
流年 2018年01月02日

ThinkPHP V5.1.0 发布 —— 12 载初心不变,新年献礼!

流年 流年 发布于2018年01月02日 收藏 5

阿里云高性能云服务器,2折起! >>> >>>  

ThinkPHP V5.1 —— 12 载初心不改,你值得信赖的 PHP 框架

期盼已久的 V5.1.0 版本正式发布,祝大家 2018 年新年快乐!

ThinkPHP 自诞生以来一路走来已经 12 载,初心不改,并将继续努力,感谢大家的一路支持和贡献!

特性

5.1 版本主要特性包括:

  • 引入容器和 Facade 支持

  • 依赖注入完善和支持更多场景

  • 重构的(对象化)路由

  • 路由跨域请求支持

  • 支持注解路由

  • 配置和路由目录独立

  • 取消系统常量

  • 助手函数增强

  • 类库别名机制

  • 模型和数据库增强

  • 验证类增强

  • 模板引擎改进

  • 支持 PSR-3 日志规范

安装

5.1 版本开始官方不提供下载包,请使用 composer 安装:

composer create-project topthink/think tp

手册

官方完全开发手册 已经更新至最新

捐赠我们

2018-1-1 ThinkPHP 官方团队

第 1 条附言  ·  4 分钟前

5.1的扩展也同步更新支持了(都支持composer安装),包括:

  • topthink/think-testing

  • topthink/think-mongo

  • topthink/think-migration

  • topthink/think-queue

  • topthink/think-captcha

  • topthink/think-image

  • topthink/think-walkman

  • topthink/think-swoole

以及大量的第三方类库包(不再一一列举)

另外,官方已经把5.1版本的很多组件独立成composer包了(不再依赖ThinkPHP核心框架运行),包括但不限于:

  • topthink/think-container

  • topthink/think-orm

  • topthink/think-validate

  • topthink/think-template

  • topthink/think-log

  • topthink/think-cache

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:ThinkPHP V5.1.0 发布 —— 12 载初心不变,新年献礼!
分享
评论(84)
精彩评论
19

引用来自“yugihuang”的评论

个人感觉像是在向symfony和laravel靠拢
不如说是向主流编程思想靠拢比较确切:grinning: 思想才是关键 怎么实现只是殊途同归罢了
15
我实在搞不懂现在的php框架为什么要搞得这么复杂? (不针对TP,只是多年不用php做项目,突然发现好像大家都习惯于把框架做得复杂难懂了)

web开发最核心的方式,就是接受请求 -> 处理业务逻辑 (大部份是数据操作) -> 响应输出。我认为把这几方面做好了就是一个好框架了。

还是那句,简单才是php美的所在。
9

引用来自“lshzhuhai”的评论

这流年抄Laravel还抄出高剿了!:joy::joy::joy:
不敢苟同,现代编程思想又不是Larave的专利,我听过很多用户说TP5 像这个 像那个 仿佛我什么框架都会一样,我有那个闲工夫么,不要妄加猜测!
5
个人感觉像是在向symfony和laravel靠拢
4

引用来自“TimWong”的评论

我实在搞不懂现在的php框架为什么要搞得这么复杂? (不针对TP,只是多年不用php做项目,突然发现好像大家都习惯于把框架做得复杂难懂了)

web开发最核心的方式,就是接受请求 -> 处理业务逻辑 (大部份是数据操作) -> 响应输出。我认为把这几方面做好了就是一个好框架了。

还是那句,简单才是php美的所在。
@TimWong 我也有这样的感觉
最新评论
0

引用来自“whoru”的评论

@流年
TP5.1 的配置里面, app_status 这个场景配置,是不是取消了,设置不起作用,搜索源码里面已经没有相应的处理逻辑了。这个功能是要取消么?

引用来自“流年”的评论

取消了,设置不同的环境变量来解决
回复@流年 : 👌
0

引用来自“whoru”的评论

@流年
TP5.1 的配置里面, app_status 这个场景配置,是不是取消了,设置不起作用,搜索源码里面已经没有相应的处理逻辑了。这个功能是要取消么?
取消了,设置不同的环境变量来解决
0
@流年
TP5.1 的配置里面, app_status 这个场景配置,是不是取消了,设置不起作用,搜索源码里面已经没有相应的处理逻辑了。这个功能是要取消么?
0

引用来自“flydo”的评论

object(App\Model\ContainerOrder)#18 (2) {
["data"]=>
array(0) {
}
["relation"]=>
array(0) {
}
}

出现这种情况是什么意思?think-orm的

引用来自“流年”的评论

这是正常的 Model类定义了__debugInfo方法的

引用来自“flydo”的评论

我在tp5中用model时,也是一样的写法,但是直接返回值的。直接用think-orm,它就返回那个信息,不知道应该如何取值呢?
另外,我用$this->count() 这方法时,取到的值是对的,就是整型。
但是,用 $this->select();取到的值却是上面的那种情况。。。

引用来自“流年”的评论

你这是var_dump的结果 模型的取值有取值方法,你这是一个普通的模型 而且没有任何数据,没有看到你的任何代码没法帮你
namespace App\Model\Coffeecontainer;

use App\Core\FT_Model;

class Order extends FT_Model {
protected $pk = 'container_id';
protected $table = Coffeecontainer_Container;//Coffeecontainer_Order;

public function __construct() {
parent::__construct();
}

public function abc() {
$b = $this->select();
var_dump($b);
$sql = $this->getLastSql();
var_dump($sql);

}

}

***********************************************
namespace App\Core;

use think\Model;

class FT_Model extends Model {

protected function initialize() {
parent::initialize();
}

}
0

引用来自“flydo”的评论

object(App\Model\ContainerOrder)#18 (2) {
["data"]=>
array(0) {
}
["relation"]=>
array(0) {
}
}

出现这种情况是什么意思?think-orm的

引用来自“流年”的评论

这是正常的 Model类定义了__debugInfo方法的

引用来自“flydo”的评论

我在tp5中用model时,也是一样的写法,但是直接返回值的。直接用think-orm,它就返回那个信息,不知道应该如何取值呢?
另外,我用$this->count() 这方法时,取到的值是对的,就是整型。
但是,用 $this->select();取到的值却是上面的那种情况。。。
你这是var_dump的结果 模型的取值有取值方法,你这是一个普通的模型 而且没有任何数据,没有看到你的任何代码没法帮你
0

引用来自“flydo”的评论

object(App\Model\ContainerOrder)#18 (2) {
["data"]=>
array(0) {
}
["relation"]=>
array(0) {
}
}

出现这种情况是什么意思?think-orm的

引用来自“流年”的评论

这是正常的 Model类定义了__debugInfo方法的
我在tp5中用model时,也是一样的写法,但是直接返回值的。直接用think-orm,它就返回那个信息,不知道应该如何取值呢?
另外,我用$this->count() 这方法时,取到的值是对的,就是整型。
但是,用 $this->select();取到的值却是上面的那种情况。。。
0

引用来自“flydo”的评论

object(App\Model\ContainerOrder)#18 (2) {
["data"]=>
array(0) {
}
["relation"]=>
array(0) {
}
}

出现这种情况是什么意思?think-orm的
这是正常的 Model类定义了__debugInfo方法的
0
object(App\Model\ContainerOrder)#18 (2) {
["data"]=>
array(0) {
}
["relation"]=>
array(0) {
}
}

出现这种情况是什么意思?think-orm的
0

引用来自“flydo”的评论

topthink/think-orm 这个要如何使用呢?怎么引入和初始化?

引用来自“流年”的评论

参考 https://github.com/top-think/think-orm

引用来自“flydo”的评论

知道手册上面有说。但是那个配置文件怎么加载啊?我要用模型,却不知道怎么初始化数据库信息。也就是 connection 这东西要怎么配?

引用来自“流年”的评论

独立类库 没有配置文件,readme文件里面不是写了如何设置数据库信息

引用来自“flydo”的评论

@流年 readme说的是Db的配置方式,也可以用独立文件存,再取出来的,目前用这个没有问题。但模型的方式不懂怎么弄。

引用来自“流年”的评论

模型也是读取的数据库配置 是同一个,如果模型里面要单独配置独立的数据库配置 可以直接定义connection属性 或者使用配置参数 而配置参数也是在数据库配置中设置的
@流年 因为没有同tp,所以不懂怎么配置,我直接将那个数据库文件的值配进去也报错,实在不懂怎么设置模型方式了
0

引用来自“flydo”的评论

topthink/think-orm 这个要如何使用呢?怎么引入和初始化?

引用来自“流年”的评论

参考 https://github.com/top-think/think-orm

引用来自“flydo”的评论

知道手册上面有说。但是那个配置文件怎么加载啊?我要用模型,却不知道怎么初始化数据库信息。也就是 connection 这东西要怎么配?

引用来自“流年”的评论

独立类库 没有配置文件,readme文件里面不是写了如何设置数据库信息

引用来自“flydo”的评论

@流年 readme说的是Db的配置方式,也可以用独立文件存,再取出来的,目前用这个没有问题。但模型的方式不懂怎么弄。
模型也是读取的数据库配置 是同一个,如果模型里面要单独配置独立的数据库配置 可以直接定义connection属性 或者使用配置参数 而配置参数也是在数据库配置中设置的
0

引用来自“flydo”的评论

topthink/think-orm 这个要如何使用呢?怎么引入和初始化?

引用来自“流年”的评论

参考 https://github.com/top-think/think-orm

引用来自“flydo”的评论

知道手册上面有说。但是那个配置文件怎么加载啊?我要用模型,却不知道怎么初始化数据库信息。也就是 connection 这东西要怎么配?

引用来自“流年”的评论

独立类库 没有配置文件,readme文件里面不是写了如何设置数据库信息
@流年 readme说的是Db的配置方式,也可以用独立文件存,再取出来的,目前用这个没有问题。但模型的方式不懂怎么弄。
0

引用来自“flydo”的评论

topthink/think-orm 这个要如何使用呢?怎么引入和初始化?

引用来自“流年”的评论

参考 https://github.com/top-think/think-orm

引用来自“flydo”的评论

知道手册上面有说。但是那个配置文件怎么加载啊?我要用模型,却不知道怎么初始化数据库信息。也就是 connection 这东西要怎么配?
独立类库 没有配置文件,readme文件里面不是写了如何设置数据库信息
0

引用来自“flydo”的评论

topthink/think-orm 这个要如何使用呢?怎么引入和初始化?

引用来自“流年”的评论

参考 https://github.com/top-think/think-orm
知道手册上面有说。但是那个配置文件怎么加载啊?我要用模型,却不知道怎么初始化数据库信息。也就是 connection 这东西要怎么配?
0
都不能上传图片 这个 评论
0
每次变动都那么大…………
3

引用来自“lshzhuhai”的评论

这流年抄Laravel还抄出高剿了!:joy::joy::joy:
同时用过laravel和thinkphp5+, 说实话,刚开始确实觉得在一些地方thinkphp是在追随laravel的步伐,但你说抄袭确实过了。况且你的用词也确实不是个理性的人应该有的,至少流年和他的团队做出了东西,并且保持开源的追求,而你做出了事没呢?我觉得人类的进步也正是因为相互之间的借鉴和借鉴之后的各自发挥,才有的创造的火花,不可能你的车轮子是圆的,我的车就必须不是圆的了,只要我做的车能跑的比之前快,甚至以后也比你的快就够了。
0
不管是什么我只管会composer
0

引用来自“TimWong”的评论

我实在搞不懂现在的php框架为什么要搞得这么复杂? (不针对TP,只是多年不用php做项目,突然发现好像大家都习惯于把框架做得复杂难懂了)

web开发最核心的方式,就是接受请求 -> 处理业务逻辑 (大部份是数据操作) -> 响应输出。我认为把这几方面做好了就是一个好框架了。

还是那句,简单才是php美的所在。
人力成本上升,对创业公司来说,唯快不破
0
感谢
0
喜闻乐见
顶部