PHP 匿名类

PHP 7 支持通过 new class 来实例化一个匿名类,这可以用来替代一些"用后即焚"的完整类定义

范例

<?php

interface Logger
{   public function log(string $msg);
}

class Application
{
    private $logger;
    public function getLogger(): Logger 
    {
        return $this->logger;
    }

    public function setLogger(Logger $logger)
    {
        $this->logger = $logger;
    }
}

$app = new Application;

// 使用 new class 创建匿名类
$app->setLogger(new class implements Logger {
    public function log(string $msg)
    {
        echo $msg;
    }});

$app->getLogger()->log("我的第一条日志");

运行以上 PHP 范例,输出结果如下

我的第一条日志
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.