分享PHP7中匿名类的用法

今天用PHP编写钉钉服务端API时初次使用了匿名类,由于我之前一直都是使用的PHP5.6或以下的版本,截止到现在对PHP7的新特性还不是很了解,今天尝试了一下PHP7的匿名类。

以下介绍匿名类:

<?php
$fun = function (){
    print '这是匿名函数'. PHP_EOL;
};
$fun();
 
////////////////////////
 
class Animal
{
    public $num;
    public function __construct(...$args)
    {
        $this->num = $args[0];
    }
 
    public function getValue($su): int
    {
        return $this->num + $su;
    }
}
 
$an = new Animal(4);
echo $an->getValue(12) . PHP_EOL;
echo '匿名类'. PHP_EOL;
echo (new class(11) extends Animal{})->getValue(12);

个人总结一下匿名类:调用非静态类时,代码编写更简洁。可以用来替代一些"用后即焚"的完整类定义。

评论