2015-12-15 9 views
7

स्लिम 3 से पहले जारी किया गया है ठीक काम नीचे कोड:स्लिम 3: सेटिंग्स तक कैसे पहुंचे?

settings.php

return [ 
    'settings' => [ 
     'displayErrorDetails' => true, 
     'modules' => [ 
      'core' => 'config/core/modules.php', 
      'local' => 'config/local/modules.php' 
     ], 
    ], 
]; 

index.php

// Instantiate the app 
$settings = require __DIR__ . '/../src/settings.php'; 
$app = new \Slim\App($settings); 

$MyClass = new MyClass($app); 

MyClass.php

class MyClass 
{ 
    private $app; 

    public function __construct($app) 
    { 
     $this->app = $app; 
     $local = require $app->settings['modules']['local']; 
    } 

लेकिन रिलीज के बाद, मुझे यह त्रुटि नीचे मिलती है:

नोटिस: अपरिभाषित संपत्ति: स्लिम \ अनुप्रयोग :: $ में सेटिंग्स/...

तो मैं $app->settings अब और उपयोग नहीं कर सकते? तब मुझे क्या उपयोग करना चाहिए?

उत्तर

8

आप इस तरह सेटिंग प्राप्त कर सकते हैं:

$container = $app->getContainer(); 
$settings = $container->get('settings'); 
+0

मुझे "वैश्विक $ ऐप" शामिल करना था; मेरे लिए काम करने के लिए इन पंक्तियों से पहले। –

5

आप $ इस

$modulesSettings = $this->get('settings')['modules']['local']; 

के माध्यम से सेटिंग मार्ग callables उपयोग कर सकते हैं और अधिक जानकारी read here

1

SLIM 3 विन्यास फाइल का पता करने के लिए समर्थक/src/settings.php, है और आप अतिरिक्त सेटिंग्स जोड़ सकते हैं; किसी भी मार्ग में आप उन्हें इस तरह से एक्सेस कर सकते हैं:

var_dump($this->get('settings')['logger']); 
संबंधित मुद्दे