PHP类型暗示特质(PHP type-hinting traits)

2019-08-05 14:32发布

我有一个特质。 对于创造力的缘故,让我们把这个特质特质:

trait Trait{    
    static function treat($instance){    
        // treat that trait instance with care
    }
}

现在,我也有一个使用这种特性,用户的类。 当试图调用治疗与用户的一个实例,一切正常。 但我想的类型提示,只有使用特质类的实例应该给予作为参数,这样的:

static function treat(Trait $instance){...}

可悲的是,虽然,这将导致一个致命的错误,指出该功能期待特质的一个实例,但被赋予用户的一个实例。 这种类型的类型提示的作品完美的继承和实施,但如何的类型提示一个特点?

Answer 1:

你不能因为DaveRandom说。 你不应该。 你可能希望实现对界面和typehint。 然后,您可以实现使用一个特点是接口。



文章来源: PHP type-hinting traits