PHP Trait调用继承函数

标签 php inheritance traits

我有一个特点

trait Foo{

    protected static function foo(){
        echo 'Hello';
    }
}

和一个类

class Bar{
    use Foo;

    private static function foo(){
        Foo::foo();

        echo ' World!';
    }
}

我不能使用 Foo:foo()。我该怎么做才能达到预期的效果?

编辑

使用

use Foo {foo as parentFoo}

private static function foo(){

    self::parentFoo();

    echo ' World!';

}

成功了。

最佳答案

你可以这样做:

class Bar{

    use Foo {
        Foo::foo as foofoo;
    }

    private static function foo(){

        self::foofoo();

        echo ' World!';

    }

}

关于PHP Trait调用继承函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13829598/

相关文章:

php - 设计 SilverStripe 博客模块样式的最佳方法

python - 在 Python 中是否可以声明必须重写该方法?

generics - 具有标记特征的Rust meta/复合结构

inheritance - Rails : ActiveRecord's default_scope and class inheritance

C++类模板参数必须有特定的父类

PHP 类使用与特征函数相同的名称

scala - 关于 this.type 的令人惊讶的等价和不等价

php - Laravel Horizo​​n 抛出错误 : Call to undefined function Laravel\Horizon\Console\pcntl_async_signals()

PHP-如何合并/连接 MySQL 表?

php - 无法安装 laravel 包