PHP は同じトレイトを 2 回コンパイルしようとしているようです。
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();
}
}
コンパイルはFatal Errorで失敗します:
致命的なエラー: トレイト メソッド setMink は適用されませんでした。
setMink
method はMinkDictionary
trait でのみ定義されます。
問題は、 と の両方OrderDictionary
がのFeatureContext
メソッドを使用していることMinkDictionary
です。そのため、 を追加use MinkDictionary
しましたOrderDictionary
。これは許されませんか?それをコメントアウトすると、すべてが機能しますが、エディターは多くの未解決のメソッドを表示しています - それらがどこから来ているのかわかりません。