PHP 似乎试图两次编译相同的特征。
use Behat\MinkExtension\Context\MinkDictionary;
class FeatureContext
{
use MinkDictionary, OrderDictionary;
}
use Behat\MinkExtension\Context\MinkDictionary;
trait OrderDictionary
{
//if you comment out this line, everything works, but methodFromMinkTrait is
//unresolved
use MinkDictionary;
public function myMethod($element, $text)
{
//some method that uses methods from MinkDictionary
return $this->methodFromMinkTrait();
}
}
编译失败并出现致命错误:
致命错误:Trait 方法 setMink 尚未应用,因为在 LunchTime\DeliveryBundle\Features\Context\FeatureContext 上与其他 trait 方法有冲突
setMink
方法仅在MinkDictionary
trait 中定义。
问题是两者OrderDictionary
都FeatureContext
使用MinkDictionary
. 这就是我添加的use MinkDictionary
原因OrderDictionary
。这是不允许的吗?如果您将其注释掉,那么一切正常,但编辑器显示了许多未解决的方法 - 它不知道它们来自哪里。