某個 TranslatorInterface::setLocale ($locale) not compatible

chuoke發表於2020-04-28
Declaration of Symfony\Component\Translation\TranslatorInterface::setLocale($locale) must be compatible with Symfony\Contracts\Translation\LocaleAwareInterface::setLocale(string $locale)

Symfony\Component\Translation\TranslatorInterface 是在 symfony/translation 包裡,依賴的
Symfony\Contracts\Translation\LocaleAwareInterface 是在 symfony/translation-contracts 包裡,版本設定的是: "symfony/translation-contracts": "^1.1.6|^2"

引數型別限制是 2.0 加的,不知道為啥繼承的卻不改,用意何在?!

這個在 PHP 7.1 及以下都有問題,詳情見此:

3v4l.org/WQhqq#output

相關討論及解決方法可參考:

github.com/symfony/symfony/issues/...
laracasts.com/discuss/channels/lar...

我目前選擇的是在專案裡安裝指定版本: “symfony/translation-contracts”: “^1.1.7”,

本作品採用《CC 協議》,轉載必須註明作者和本文連結

初出茅廬,一知半解,望有識之士多多指教。抱拳...

相關文章