PHP 7.1 新功能之其他改进

PHP 7.1 新功能之其他改进

Chris Yue 2 comments
Posts

剩下的都是比较明显的,没啥好讨论的改进,所以就一块儿说吧

字符串索引可使用负数

$str='abcdef';
var_dump($str[-2]); // => string(1) "e"
 
$str{-3} = '.';
var_dump($str);		// => string(6) "abc.ef"
 
var_dump(isset($str{-4}));	// => bool(true)
 
var_dump(isset($str{-10}));	// => bool(false)

Void 返回类型

如果一个方法被设定成返回 void 类型,那么它将不能返回任何值

function foo(): void
{
    return 1; // 报错,不能有返回
}

function foo(): void
{
    return; // 正确
}

function foo(): void
{
    // 也正确
}

但要注意 null 是不能返回的:

function foo(): void
{
    return null; // 这也是不行的!
}

最后,如果子类要覆盖父类的某个返回 void 的方法,返回类型是不可以更改的。

类常量可见性设置

class Token
{
    // 默认是 public 属性
    const PUBLIC_CONST = 0;
 
    // 可添加可见性设置
    private const PRIVATE_CONST = 0;
    protected const PROTECTED_CONST = 0;
    public const PUBLIC_CONST_TWO = 0;
 
    // 所有常量只能设置一次可见性
    // 也可以这么写
    private const FOO = 1, BAR = 2;
}

多种 Exception 同时 Catch

try {
   // Some code...
} catch (ExceptionType1 | ExceptionType2 $e) {
   // 如果有不同的异常想用一种方式来处理的时候,就很有用了
} catch (\Exception $e) {
   // ...
}

好啦,PHP 7.1 的新特性就是这些了,大家有没有很期待呢?

返回索引页

PHP 7.1 新功能之其他改进 by Chris Yue is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

微信赞赏码

如果觉得文章还不错,就请扫码鼓励一下作者吧
天使打赏人

2 Comments

Hy369

七月 6, 2016 在 4:59 下午

Chrisyue:

你好,我是一名PHPer,一直在关注你的博客。很佩服你所掌握的这些技能知识,也希望自己能尽快达到你这样的程度。在阅读你的博客的过程中,我不时产生想与你交流的想法,所以一直想寻找你的联系方式,然而从博客和github中都没能找到,所以只能尝试在这里给你留言了。

希望能够收到你的消息,小紧张,期待中!

    Chris Yue

    七月 9, 2016 在 12:23 下午

    您好,感谢您的关注

    如果您对我的文章或者 PHP, Symfony 感兴趣,可以加群 230078413。里面志同道合的小伙伴很多,

    也可以加为微信 blizzchris。

     

Hy369进行回复 取消回复

3 + = 9