Una delle novità introdotte in Magento 2, è l’utilizzo del pattern dependency injection. Questo in realtà meriterebbe un articolo a sè stante, ma almeno per il momento, diciamo che ha l’obiettivo di migliorare la gestione delle dipendenze, evitando di inserire riferimenti a classi esterne direttamente all’interno di un metodo, come invece avviene qui
public function getSku($id) { $db = new DBHandler; $row = $db->query('SELECT sku FROM products WHERE id = ?',$id); return $row['sku']; }
e quindi passare le dipendenze tramite costruttore oppure come parametri del metodo, favorendo così il riutilizzo e la testabilità. Leggi tutto “Dependency injection: come funzionano le preference in Magento 2”