PHP检查特性在使用前已存在

PHP检查特性在使用前已存在,php,Php,在使用它之前,我需要检查它是否存在,但我发现了错误。 有人知道如何做到这一点吗?只有在特征存在时才定义类: class Bar { //use Foo; if ( trait_exists('foo') ) { use \Foo; } public function ....... } Bar类还需要做一些其他工作,它必须定义由于PHP定义类的方式,您不能这样做。您可以在运行时动态创建一个类:如果trait_存在'Foo'{$bar=newclass{use\

在使用它之前,我需要检查它是否存在,但我发现了错误。
有人知道如何做到这一点吗?

只有在特征存在时才定义类:

class Bar {

     //use Foo;
     if ( trait_exists('foo') ) { use \Foo; }

     public function .......
}

Bar类还需要做一些其他工作,它必须定义由于PHP定义类的方式,您不能这样做。您可以在运行时动态创建一个类:如果trait_存在'Foo'{$bar=newclass{use\Foo;/*…*/};}。您可能应该重新构造代码。特质可能不是你问题的解决方案。
if (trait_exists('Foo')) {
    class Bar {
        use \Foo;
    }
} else {
    // define alternative Bar class or throw error
}