2016-10-10 1 views
2

を動作しません。エラスティカ:インターフェイスと形質はこれは私が今日目撃して..ポイントにまっすぐに取得I`llなぜ私が疑問に思ういくつかの奇妙な行動である適切

012を投入私は

PHPアプリ/コンソールFOSを実行したら、このシナリオでは

class Class 
{ 
    use Translatable; 

} 

class ClassTranslation implements \A2lix\I18nDoctrineBundle\Doctrine\Interfaces\OneLocaleInterface 
{ 
    use Translation; 

} 

I`m取得:

[InvalidArgumentException]パラメータ 'ロケール' は存在しません 。

しかし、パラメータは(2つの特性、翻訳方法及び翻訳可能なプロパティが含まベンダーからの)特色

に実際にある質問これが起こるのない理由です。我々は特性のプロパティを持っているが、コマンドを実行するとそれが見つからない。

ここで奇妙な部分が来る!このシナリオでは

すべてが期待どおりに動作します。私は、コマンドがスムーズに実行インターフェイスを実装しない場合

class Class 
{ 
    use Translatable; 

} 

class ClassTranslation 
{ 
    use Translation; 

} 

、インターフェースはちょうどロケールatributeのためのゲッターとセッターを持っているあなたを強制します。私はなぜこれが起こるのだろうかと思います。

答えて

1

https://github.com/a2lix/I18nDoctrineBundle/issues/16に関連している可能性があります。

InvalidArgumentExceptionがないため、これはPHPの特性に関連しているとは思われません。インターフェースが存在しない場合は、特性のコードが実行されない可能性があります。この場合、エラーはありません。あなたの特性の実装をチェックしてください。コードがいつ実行され、例外が発生するかを確認するために、デバッグ出力を行うこともできます。

関連する問題