2015-12-15 10 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 :: $の設定/ ...

だから私はもう$app->settingsを使用することはできませんか?それでは私は何を使うべきですか?

答えて

8

次のような設定を取得することができます:

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

「global $ app;」を含める必要がありましたこれが私のために働くためのこれらの行の前に。 –

5

あなたは$この詳細についてread here

1

SLIM 3コンフィギュレーション・ファイルのアドレスについては

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

を経由して設定ルート呼び出し可能オブジェクトにアクセスすることができますpro/src/settings.php、 であり、追加設定を追加できます。どのルートでも、次のようにアクセスできます。

var_dump($this->get('settings')['logger']); 
関連する問題