Magento 2.3 usage of object manager in abstract code - good / bad / indifferent
-
16-03-2021 - |
Вопрос
I know what object manager is. I know why it is used. I know that as a general rule it shouldn't be used. I know why from reading this. https://devdocs.magento.com/guides/v2.3/extension-dev-guide/object-manager.html#exceptions.
Then I see code like this
public function __construct(
[...]
$this->scopeConfig = $scopeConfig ?: ObjectManager::getInstance()->get(
ScopeConfigInterface::class
);
[...]
}
Which seams like an elegant way of doing it. Especially in something so abstract. So my questions are this:
a) Is the above still considered bad practice?
b) In this purely to maintain backward compatibility? Or is there another reason?
Решение
a) Yes, it is bad practice
b) Yes, it is purely to maintain backward compatibility
:)
Не связан с magento.stackexchange