Magento 2 Object Manager — це клас PHP, відповідальний за створення та отримання об’єктів у Magento 2. Він також керує створеннями фабрик та проксі.

Щоб отримати екземпляр object manager, використовуйте наступний код:

<?php 
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();

Використовуючи ObjectManager, ви можете отримати синглтон-об'єкт — singleton object (метод "get") класу PHP або створити новий (метод "create"). Приклад:

<?php
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
/* Create a new product object */
$product = $objectManager->create(\Magento\Catalog\Model\Product::class);
/* Get a request object singleton
$request = $objectManager->get(\Magento\Framework\App\RequestInterface::class);

Увага !!! Вам слід уникати прямого використання ObjectManager, як у попередньому прикладі у вашому коді, оскільки він приховує реальні залежності класу.

Ви можете використовувати Object Manager лише:

- для тестування вашого коду
- для фабричних класів та класів проксі
- для змін зворотної сумісності в конструкторі класу PHP
- у статичних магічних методах, наприклад: __wakeup, serialize, тощо.