2015-12-15 16 views
7

Przed Slim 3 jest zwolniony, kody poniżej pracy grzywny:Slim 3: jak uzyskać dostęp do ustawień?

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']; 
    } 

Ale po wydaniu dostaję ten błąd poniżej:

Wskazówka: niezdefiniowany nieruchomościach: Slim \ App :: $ ustawienia w/...

Więc nie mogę używać $app->settings więcej? W co więc powinienem użyć?

Odpowiedz

8

można uzyskać ustawienia tak:

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

Musiałem uwzględnić "globalną aplikację $"; przed tymi liniami, aby to zadziałało. –

5

Można uzyskać dostęp do ustawień callables trasy poprzez $ to

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

Aby uzyskać więcej informacji read here

1

adres pliku konfiguracyjnego SLIM 3 to pro/src/settings.php, i możesz dodać dodatkowe ustawienia; Na dowolnej trasie można uzyskać do nich dostęp w następujący sposób:

var_dump($this->get('settings')['logger']);