ProductInterface has a DI preference leading it the
ProductModel is marked as falling under the Backward Compatibility Standard (it is marked with
@api), it is still belonging to the Persistence Layer and not the Domain Layer, so hence it should not be used directly. At least, that’s my understanding of the Persistence Layer. In other words, injecting
ProductInterface in your class constructor is to be discouraged (and perhaps even prevented): Instead, you should be injecting
ProductRepositoryInterface in your class constructor. And while using the repository, you might get your hands on
ProductInterface anyway (
$ product = $ productRepository->get(...)) – something that I would call “indirect injection” (I’m making up things as I write).
Here’s the question: If the only usage of
ProductInterface is triggered via other classes (a repository or perhaps a factory) and if injecting
ProductInterface in the constructor should not be done, why is there a DI preference for it?
✓ Extra quality
ExtraProxies brings the best proxy quality for you with our private and reliable proxies
✓ Extra anonymity
Top level of anonymity and 100% safe proxies – this is what you get with every proxy package
✓ Extra speed
1,ooo mb/s proxy servers speed – we are way better than others – just enjoy our proxies!
USA proxy location
We offer premium quality USA private proxies – the most essential proxies you can ever want from USA
99,9% servers uptime
No usage restrictions
Perfect for SEO
We are working 24/7 to bring the best proxy experience for you – we are glad to help and assist you!