PHP8.1新特性之返回值和final常量限制

作者: 温新

分类: 【PHP基础】

阅读: 1950

时间: 2022-02-13 08:32:32

hi,我是温新,一名PHPer

对返回值的限制

如果一个方法不需要任何返回值,可以使用never进行限制。使用never表示该方式不能有返回值,如写了返回值,则报错。

<?php

class Person
{
    // 限制不能有返回值
	public function index():never
	{
	}
    
}

对常量的限制

<?php
    
class Person
{
    // 使用final限定常量
	final public const PI = 3.14;
}

class Lucy extends Person
{
    // 子类继承父类并修改常量
	public const PI = 6666;
}

// 报错
echo Lucy::PI;

对于可以修改常量的值而言,这本身就是一个BUG。在父类中,如果不使用final对常量进行限制,子类继承父类可以对常量值进行修改。

对于新鲜的东西保持着热忱,不断加以练习

请登录后再评论