ThinkPHP V5.0 正式版发布

   2016-09-18 0
核心提示:ThinkPHP5.0 正式版的发布,是团队中秋节送给PHP开发者最好的礼物!祝大家中秋快乐,事业顺利,用ThinkPHP开发更健康^_^ThinkPHP5.0版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的PHP新特性,优化了

ThinkPHP5.0 正式版的发布,是团队中秋节送给PHP开发者最好的礼物!祝大家中秋快乐,事业顺利,用ThinkPHP开发更健康^_^

ThinkPHP5.0版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化,包括路由、日志、异常、模型、数据库、模板引擎和验证等模块都已经重构,不适合原有3.2项目的升级,请慎重考虑商业项目升级,但绝对是新项目的首选(无论是WEB还是API开发)。

ThinkPHP V5.0——为API开发而设计的高性能框架

ThinkPHP V5.0 正式版发布

[ 特性 ]

主要特性包括:

--------------------------------------------------------------

规范 :遵循PSR-2、PSR-4规范,Composer及单元测试支持;

严谨 :异常严谨的错误检测和安全机制,详细的日志信息,为你的开发保驾护航;

灵活 :减少核心依赖,扩展更灵活、方便,支持命令行指令扩展;

API友好 :出色的性能和REST支持、远程调试,更好的支持API开发;

高效 :惰性加载,及路由、配置和自动加载的缓存机制;

ORM :重构的数据库、模型及关联,MongoDb支持;

--------------------------------------------------------------

支持ThinkPHP5的用户请到  Github  给我们一个`star` ^_^

相对于RC4版本,更新如下:

[ 请求和路由 ]

Request对象支持动态绑定属性

定义了路由规则的URL原地址禁止访问

改进路由规则存储结构

路由分组功能增强,支持嵌套和虚拟分组

路由URL高效反解

改进Request对象param方法获取优先级

路由增加name方法设置和获取路由标识

增加MISS和AUTO路由规则

Route类增加auto方法 支持注册一个自动解析URL的路由

路由规则支持模型绑定

路由变量统一使用param方法获取

路由规则标识功能和自动标识

增加生成路由缓存指令 optimize:route

Request对象增加route方法单独获取路由变量

Request对象的param get post put request delete server cookie env方法的第一个参数传入false 则表示获取原始数据 不进行过滤

改进自动路由标识生成 支持不同的路由规则 指向同一个路由标识,改进Url自动生成对路由标识的支持

改进Request类 filter属性的初始化

改进Request类的isAjax和isPjax方法

Request类增加token方法

路由配置文件支持多个 使用 route_config_file 配置参数配置

域名绑定支持https检测

改进域名绑定 支持同时绑定模块和其他 支持绑定到数组定义的路由规则,取消域名绑定到分组

路由规则增加PATCH请求类型支持

增加route_complete_match配置参数设置全局路由规则定义是否采用完整匹配 可以由路由规则的参数complete_match 进行覆盖

改进路由的 后缀参数识别 优先于系统的伪静态后缀参数

Url类增加root方法用于指定当前root地址(不含域名)

改进Url生成对可选参数的支持

[ 数据库 ]

查询条件自动参数绑定

改进分页方法支持参数绑定

Query类的cache方法增加缓存标签参数

Query类的update和delete方法支持调用cache方法 会自动清除指定key的缓存 配合查询方法的cache方法一起使用 

改进Query类的延迟写入方法

Query类的column和value方法支持fetchsql

改进日期查询方法

改进存储过程方法exec的支持

改进Connection类的getLastInsID方法获取

记录数据库的连接日志(连接时间和DSN)

改进Query类的select方法的返回结果集判断 

Connection类增加getNumRows方法

数据库事务方法取消返回值

改进Query类的chunk方法对主键的获取

改进当数据库驱动类型使用完整命名空间的时候 Query类的builder方法的问题

[ 模型 ]

增加软删除功能

关联模型和预载入改进

关联预载入查询闭包支持更多的连贯操作

完善savell方法支持更新和验证

关联定义统一返回Relation类

Model类的has和hasWhere方法对join类型的支持

Model类的data方法 批量赋值数据的时候 清空原始数据

Model类的get方法第三个参数传入true的时候会自动更新缓存

Model类增加只读字段支持

Model类增加useGlobalScope方法设置是否启用全局查询范围

Model类的base方法改为静态定义 全局多次调用有效

Model类支持设定主键、字段信息和字段类型,不依赖自动获取,提高性能

Model类的data方法 支持修改器

改进Relation类对非数字类型主键的支持

改进Relation类的一对多删除

修正Relation类的一对多关联预载入查询

[ 日志和缓存 ]

支持日志类型分离存储

日志允许设置记录级别

增加缓存标签功能

缓存类增加pull方法用于获取并删除

cache助手函数增加tag参数

简化日志信息,隐藏数据库密码

增加cache/session redis驱动的库选择逻辑;

memcached驱动的配置参数支持option参数

调试模式下面 日志记录增加页面的header和param参数记录

memcached缓存驱动增加连接账号密码参数

缓存支持设置complex类型 支持配置多种缓存并用store切换

缓存类增加tag方法 用于缓存标签设置 clear方法支持清除某个缓存标签的数据

File类型日志驱动支持设置单独文件记录不同的日志级别

改进文件缓存和日志的存储文件名命名规范

缓存类增加inc和dec方法 针对数值型数据提供自增和自减操作

Cache类增加has方法 get方法支持默认值

[ 其它 ]

视图类支持设置模板引擎参数

增加表单令牌生成和验证

增加中文验证规则

增加image和文件相关验证规则

重定向Response对象支持with方法隐含传参

改进Session类自动初始化

session类增加pull方法用于获取并删除

增加Env类用于获取环境变量

Request类get/post/put等更改赋值后param方法依然有效

改进Jump跳转地址支持Url::build 解析

优化Hook类

应用调试模式和页面trace支持环境变量设置

config助手函数支持 config('?name') 用法

支持使用BIND_MODULE常量的方式绑定模块

入口文件自动绑定模块功能

改进验证异常类的错误信息和模板输出,支持批量验证的错误信息抛出

完善console 增加output一些常用的方法

增加token助手函数 用于在页面快速显示令牌

增加halt方法用于变量调试并中断输出

改进Validate类的number验证规则 和 integer区分开

optimize:autoload增加对extend扩展目录的扫描

改进Validate类的boolean验证规则 支持表单数据

改进cookie助手函数支持 判断是否存在某个cookie值

改进abort助手函数 支持抛出HttpResponseException异常

改进File类增加对上传错误的处理

改进File类move方法的返回对象增加上传表单信息,增加获取文件散列值的方法

改进File类的move方法的返回对象改为返回File对象实例

增加clear和optimize:config 指令

改进File类和Validate类的图像文件类型验证

控制器的操作方法支持注入Request之外的对象实例

Request类 param(true) 支持获取带文件的数据

input助手函数第一个参数增加默认值

Validate类增加image验证规则 并改进max min length支持多种数据类型

json输出时数据编码失败后抛出异常

[ 调整 ]

废除路由映射(静态路由)定义

取消url_deny_suffix配置 改由路由的deny_ext参数设置

模型save方法返回值改为影响的记录数,取消getId参数

Request对象controller方法返回驼峰控制器名

控制器前置操作方法不存在则抛出异常

Loader类db方法增加name标识参数

db助手函数增加第三个参数用于指定连接标识

Sqlsrv驱动默认不对数据表字段进行小写转换

移除sae驱动 改为扩展包

Oracle驱动移出核心包

Firebird驱动移出核心包

取消别名定义文件alias.php

配置参数读取的时候取消环境变量判断 需要读取环境变量的时候使用Env类

环境变量定义文件更改为 .env 由原来的PHP数组改为ini格式定义(支持数组方式)

状态配置和扩展配置的加载顺序调整 便于状态配置文件中可以更改扩展配置的参数

取消域名绑定到路由分组功能

控制器类的success和error方法url参数支持传入空字符串,则不做任何处理

控制器的error success result redirect方法均不需要使用return

创建目录的权限修改为0644

[ 文档 ]

5.0完全开发手册 5.0快速入门

[ 下载地址 ]

官网: http://www.thinkphp.cn/down/845.html

GitHub:  https://github.com/top-think/think.git  (主要维护仓库 官方核心团队)

Composer: composer create-project topthink/think tp5 --prefer-dist

[ 扩展包 ]

 
标签: ThinkPHP 数据库
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • nginx 各类网站设置 (laravel , thinkphp , nod
    基础部分设置[root@centos ~]# vim /opt/nginx/conf/nginx.confuser www www;worker_processes auto;pid logs/nginx.pid;worker_rlimit_nofile 100000;events {use epoll;multi_accept on;worker_connections 65535 ;}http {include mime.types;default_type
    02-09
  • thinkphp5 IIS7.5 隐藏index.php的方法
    ?xml version="1.0" encoding="UTF-8"? configurationsystem.webServerrewriterulesrule name="WPurls" enabled="true" stopProcessing="true"match url=".*" /conditions logicalGrouping="MatchAll"
    02-09
  • ThinkPHP 利用.htaccess文件的 Rewrite 规则隐
    通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。 下面是Apache的配置过程,可以参考下:1、httpd.conf配置文件中加载了mod_rewrite.so
    02-09
  • 【小程序+thinkphp5】 用户登陆,返回第三方session3rd
    【小程序+thinkphp5】 用户登陆,返回第三方ses
    服务器环境: centos7   php7.0准备工作: 注册小程序,并获取 appid 、appsecret下载微信解密算法sdk : https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.htmlhttps 的域名。需要在小程序后台服务器域名那配置   代码实现 一 、 thinkphp5 
    02-09
  • 码云推荐 | 基于 ThinkPHP5 的通用后台 lyadmin_v2
    码云推荐 | 基于 ThinkPHP5 的通用后台 lyadmin
    lyadmin_v2 项目介绍 lyamdin是一套轻量级通用后台,采用Bootstrap3制作,自带权限管理,模块化开发。lyadmin_v2是基于ThinkPHP5全新开发的新版本。真正原创的Builder页面生生成器完美支持2.0并且支持多达38中表单类型的支持,包括但不限于文本、富文本、图片
  • 在 thinkphp 中使用 laravel 的全部组件
    作为一个使用 php 作为主力语言的公司,不管怎么说,在一些老的项目中,总会碰到使用 thinkphp 的。那么,热爱 laravel 的你,当你去开发新的 feature 时,大胆的去引入 laravel 的组件吧。不管是对于现在的开发效率,还是日后项目的重构,迁移都是有很大帮助
  • ThinkPHP V5.0.5 版本发布 — 祝大家新春快乐!
    ThinkPHP V5.0.5 版本发布 — 祝大家新春快乐!
    ThinkPHP V5.0.5 版本发布,祝大家新春快乐,事业有成,“鸡”祥如意^_^官方快速入门系列教程 新增了控制器从入门到精通 V5.0.5版本是年前最后一个发布版本,也是5.0系列版本的最后一个功能版本,主要改进和优化了数据库和模型部分,并修正了之前版本的一些问
  • 基于thinkphp的音乐网站源码
    基于thinkphp的音乐网站源码
    KSmusic音乐网站源码是一个以php+MySQL进行开发的免费音乐网站源码,只需进行简单的设置,即可拥有属于自己的音乐网站。 更新日志:标签增加 分页功能 大大增加数据自由性专辑 count 标签 用于读取数据总数量新增上一个,下一个标签 ,新增 网盘下载设置项新
  • 在线工单售后客户服务管理系统(thinkphp内核)
    在线工单售后客户服务管理系统(thinkphp内核)
    THINKPHP内核的工单系统,非常适合于售后客户服务,二开后对接到网站系统是非常不错的哦,可以添加客户和售后人员,支持短信和邮件提醒,只需要在后台配置好就行了,还是非常简单的。1、系统管理1.1:客户管理:可实现对职员的管理,可添加职员,并对不同角色
    01-06 ThinkPHP
  • thinkphp 模板解析的流程
    thinkphp 模板解析的流程
    ThinkPHP控制器中在每一个方法的最后都有这样的一句话 ,你确定对这句话非常了解吗?$this-display();当然你会说这句话是用来解析或显示控制器的方法所对应的模板的。有了这句,模板里的内容才可以正常显示,没有这句话就会抛出错误:模板不存在。但是这句话是
    12-23 ThinkPHP
点击排行