22
33namespace PHPStanMagento1 \Config ;
44
5+ use Mage ;
6+ use Mage_Core_Model_Config ;
7+
58final class MageCoreConfig
69{
7- /**
8- * @var MagentoCore|\Mage_Core_Model_Config|null
9- */
10- protected static $ config ;
10+ private bool $ useLocalXml ;
11+ private bool $ hasInitialized = false ;
1112
12- /**
13- * Load Magento XML configuration
14- *
15- * @return MagentoCore|\Mage_Core_Model_Config
16- */
17- public function getConfig ()
13+ public function __construct (bool $ useLocalXml )
1814 {
19- if (self ::$ config ) {
20- return self ::$ config ;
21- }
15+ $ this ->useLocalXml = $ useLocalXml ;
16+ }
2217
23- //change this to DI of staticReflection config
24- if (\defined ('staticReflection ' )) {
25- $ config = new MagentoCore ();
26- $ config ->loadBase ();
27- $ config ->loadModules ();
28- } else {
29- $ config = \Mage::app ()->getConfig ();
18+ public function getConfig (): Mage_Core_Model_Config
19+ {
20+ if ($ this ->hasInitialized === false && $ this ->useLocalXml === false ) {
21+ $ this ->hasInitialized = true ;
22+ Mage::init ('' , 'store ' , ['is_installed ' => false ]);
3023 }
31- self ::$ config = $ config ;
32- return self ::$ config ;
24+ return Mage::app ()->getConfig ();
3325 }
3426
3527 /**
@@ -40,17 +32,26 @@ public function getClassNameConverterFunction(string $class, string $method): ?c
4032 switch ("$ class:: $ method " ) {
4133 case 'Mage::getModel ' :
4234 case 'Mage::getSingleton ' :
35+ case 'Mage_Core_Model_Config::getModelInstance ' :
4336 return fn (string $ alias ) => $ this ->getConfig ()->getModelClassName ($ alias );
4437 case 'Mage::getResourceModel ' :
4538 case 'Mage::getResourceSingleton ' :
39+ case 'Mage_Core_Model_Config::getResourceModelInstance ' :
4640 return fn (string $ alias ) => $ this ->getConfig ()->getResourceModelClassName ($ alias );
41+ case 'Mage::getResourceHelper ' :
42+ case 'Mage_Core_Model_Config::getResourceHelper ' :
43+ case 'Mage_Core_Model_Config::getResourceHelperInstance ' :
44+ return fn (string $ alias ) => $ this ->getConfig ()->getResourceHelperClassName ($ alias );
4745 case 'Mage_Core_Model_Layout::createBlock ' :
4846 case 'Mage_Core_Model_Layout::getBlockSingleton ' :
4947 return fn (string $ alias ) => $ this ->getConfig ()->getBlockClassName ($ alias );
5048 case 'Mage::helper ' :
5149 case 'Mage_Core_Model_Layout::helper ' :
5250 case 'Mage_Core_Block_Abstract::helper ' :
51+ case 'Mage_Core_Model_Config::getHelperInstance ' :
5352 return fn (string $ alias ) => $ this ->getConfig ()->getHelperClassName ($ alias );
53+ case 'Mage_Core_Model_Config::getNodeClassInstance ' :
54+ return fn (string $ path ) => $ this ->getConfig ()->getNodeClassName ($ path );
5455 case 'Mage_Admin_Model_User::_helper ' :
5556 case 'Mage_Adminhtml_Controller_Rss_Abstract::_helper ' :
5657 case 'Mage_Api_Model_User::_helper ' :
0 commit comments