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?