数码资讯
对thinkphp3.1.3版本的新特征的总结
有在thinkphp3.1.3版本的一些特点,这是值得注意的。 1、异常方面的改善 新版本的thinkphp3.1.3重写的异常类thinkexception(这是完全简化为直接继承制度异常类),提高了异常逻辑的认为类。它主要关注的是appexception方法和停止功能的思考类。 和改进的异常处理
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
有在thinkphp3.1.3版本的一些特点,这是值得注意的。
1、异常方面的改善
新版本的thinkphp3.1.3重写的异常类thinkexception(这是完全简化为直接继承制度异常类),提高了异常逻辑的认为类。它主要关注的是appexception方法和停止功能的思考类。
和改进的异常处理支持系统的致命错误捕获,认为类增加的致命错误的方法和原理应用。
register_shutdown_function(阵列('think ','fatalerror '));
因此,系统的致命错误可以由一个统一的异常模板接口提示。
2。PDO参数绑定支持
因为thinkphp3。*版本使用的混合数据库驱动程序,并且还支持PDO模式。但以前的版本没有优化PDO,只是一个简单的封装,3.1.3版本改善了PDO和sqlarv的支持,因为PDO和sqlsrv支持参数绑定操作(注意,数据库和驱动程序不支持参数绑定不能使用参数绑定功能)。
系统对参数绑定操作的支持分为两种类型:自动绑定和手动绑定。
自动绑定进行写操作(包括数据的添加和更新),框架会自动将数据转化为执行参数的结合模式,这部分不需要额外的治疗,因为sqlsrv仅使用参数绑定模式价值支持UTF8数据写入,但每次数据写入手册参数绑定的话,会麻烦。为了避免手动参数约束冲突,自动参数结合使用域名MD5编码方式。
手动绑定,通常用于查询条件,并使用绑定一致的操作,如:
$模型->哪里(阵列('id' = >:ID,'name' = >:名字))->绑定(array(':ID = > $ ID:名字= > $name))->选择();
三.增加变量安全获取的方法
以前的版本用行动_post _get等方法来获得变量的安全,虽然没有问题,但限制是它们只能在控制变量。函数的新版本独立于快捷方式i,它可以应用于任何地方。
该方法的使用如下:
我('。ID,0); / /获得$ _get { 'id' }如果没有默认是0
我('post。名称,'htmlspecialchars '); / /获得$ _post { 'name' }使用htmlspecialchars滤波方法
我('id'); / /获得ID参数自动确定GET或POST
我('param。ID);/ /获得ID参数自动确定GET或POST以上使用等效
我(把我'); / /获得ID参数提出要求
它还支持获取整个数组,例如:
我(' '); / /获得$ _get阵列
我('post。'); / /获得$ _post阵列
在使用我的方法的情况下,该var_filters和系统default_filter滤波器配置仍然有效。
4的多重调用,方法
模型类的WHERE方法可以支持数组模式中的多个调用,例如:
$模型->哪里(阵列(A =>1,C = > 2))->哪里(阵列(A =>3,B = > 1))->选择();
当多个条件给定时,下列条件将合并到先前的条件中,最后条件等于:
$模型->哪里(阵列(A =>3,B =>1,C = > 2))->选择();
5。控制器中的赋值方法支持相干操作
我们可以在控制器中使用它:
美元->分配('name',$name)->分配('email',$电子邮件)->显示();
或:
美元->分配(阵列('name' = > $name,'email' ' = > $电子邮件))->显示();
1、异常方面的改善
新版本的thinkphp3.1.3重写的异常类thinkexception(这是完全简化为直接继承制度异常类),提高了异常逻辑的认为类。它主要关注的是appexception方法和停止功能的思考类。
和改进的异常处理支持系统的致命错误捕获,认为类增加的致命错误的方法和原理应用。
register_shutdown_function(阵列('think ','fatalerror '));
因此,系统的致命错误可以由一个统一的异常模板接口提示。
2。PDO参数绑定支持
因为thinkphp3。*版本使用的混合数据库驱动程序,并且还支持PDO模式。但以前的版本没有优化PDO,只是一个简单的封装,3.1.3版本改善了PDO和sqlarv的支持,因为PDO和sqlsrv支持参数绑定操作(注意,数据库和驱动程序不支持参数绑定不能使用参数绑定功能)。
系统对参数绑定操作的支持分为两种类型:自动绑定和手动绑定。
自动绑定进行写操作(包括数据的添加和更新),框架会自动将数据转化为执行参数的结合模式,这部分不需要额外的治疗,因为sqlsrv仅使用参数绑定模式价值支持UTF8数据写入,但每次数据写入手册参数绑定的话,会麻烦。为了避免手动参数约束冲突,自动参数结合使用域名MD5编码方式。
手动绑定,通常用于查询条件,并使用绑定一致的操作,如:
$模型->哪里(阵列('id' = >:ID,'name' = >:名字))->绑定(array(':ID = > $ ID:名字= > $name))->选择();
三.增加变量安全获取的方法
以前的版本用行动_post _get等方法来获得变量的安全,虽然没有问题,但限制是它们只能在控制变量。函数的新版本独立于快捷方式i,它可以应用于任何地方。
该方法的使用如下:
我('。ID,0); / /获得$ _get { 'id' }如果没有默认是0
我('post。名称,'htmlspecialchars '); / /获得$ _post { 'name' }使用htmlspecialchars滤波方法
我('id'); / /获得ID参数自动确定GET或POST
我('param。ID);/ /获得ID参数自动确定GET或POST以上使用等效
我(把我'); / /获得ID参数提出要求
它还支持获取整个数组,例如:
我(' '); / /获得$ _get阵列
我('post。'); / /获得$ _post阵列
在使用我的方法的情况下,该var_filters和系统default_filter滤波器配置仍然有效。
4的多重调用,方法
模型类的WHERE方法可以支持数组模式中的多个调用,例如:
$模型->哪里(阵列(A =>1,C = > 2))->哪里(阵列(A =>3,B = > 1))->选择();
当多个条件给定时,下列条件将合并到先前的条件中,最后条件等于:
$模型->哪里(阵列(A =>3,B =>1,C = > 2))->选择();
5。控制器中的赋值方法支持相干操作
我们可以在控制器中使用它:
美元->分配('name',$name)->分配('email',$电子邮件)->显示();
或:
美元->分配(阵列('name' = > $name,'email' ' = > $电子邮件))->显示();
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。