系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》
本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。
在Magento 2中,依赖注入是一种设计模式,用于从对象本身的构造函数中获取所需的依赖项,而不是通过对象管理器或其他方式进行实例化。
以下是一个简单的示例:
use Magento\Catalog\Api\ProductRepositoryInterface; class MyCustomClass { private $productRepository; public function __construct(ProductRepositoryInterface $productRepository) { $this->productRepository = $productRepository; } public function getProductById($id) { return $this->productRepository->getById($id); } }
在上面的示例中,我们创建了一个名为 MyCustomClass 的类,并在构造函数中声明了 ProductRepositoryInterface 依赖项。通过这种方式,我们可以使用依赖注入来传递 ProductRepositoryInterface 实例,并将其存储在 $productRepository 属性中。
使用依赖注入可以帮助我们减少代码耦合,使代码更容易测试和维护。同时,在Magento 2中,依赖注入还可以使用XML配置文件和自动生成的代码来自动注入所需的依赖项。