2
2
3
3
namespace PHPStanMagento1 \Config ;
4
4
5
+ use Mage ;
6
+ use Mage_Core_Model_Config ;
7
+
5
8
final class MageCoreConfig
6
9
{
7
- /**
8
- * @var MagentoCore|\Mage_Core_Model_Config|null
9
- */
10
- protected static $ config ;
10
+ private bool $ useLocalXml ;
11
+ private bool $ hasInitialized = false ;
11
12
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 )
18
14
{
19
- if (self ::$ config ) {
20
- return self ::$ config ;
21
- }
15
+ $ this ->useLocalXml = $ useLocalXml ;
16
+ }
22
17
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 ]);
30
23
}
31
- self ::$ config = $ config ;
32
- return self ::$ config ;
24
+ return Mage::app ()->getConfig ();
33
25
}
34
26
35
27
/**
@@ -40,17 +32,26 @@ public function getClassNameConverterFunction(string $class, string $method): ?c
40
32
switch ("$ class:: $ method " ) {
41
33
case 'Mage::getModel ' :
42
34
case 'Mage::getSingleton ' :
35
+ case 'Mage_Core_Model_Config::getModelInstance ' :
43
36
return fn (string $ alias ) => $ this ->getConfig ()->getModelClassName ($ alias );
44
37
case 'Mage::getResourceModel ' :
45
38
case 'Mage::getResourceSingleton ' :
39
+ case 'Mage_Core_Model_Config::getResourceModelInstance ' :
46
40
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 );
47
45
case 'Mage_Core_Model_Layout::createBlock ' :
48
46
case 'Mage_Core_Model_Layout::getBlockSingleton ' :
49
47
return fn (string $ alias ) => $ this ->getConfig ()->getBlockClassName ($ alias );
50
48
case 'Mage::helper ' :
51
49
case 'Mage_Core_Model_Layout::helper ' :
52
50
case 'Mage_Core_Block_Abstract::helper ' :
51
+ case 'Mage_Core_Model_Config::getHelperInstance ' :
53
52
return fn (string $ alias ) => $ this ->getConfig ()->getHelperClassName ($ alias );
53
+ case 'Mage_Core_Model_Config::getNodeClassInstance ' :
54
+ return fn (string $ path ) => $ this ->getConfig ()->getNodeClassName ($ path );
54
55
case 'Mage_Admin_Model_User::_helper ' :
55
56
case 'Mage_Adminhtml_Controller_Rss_Abstract::_helper ' :
56
57
case 'Mage_Api_Model_User::_helper ' :
0 commit comments