Slim 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'];
}
しかし、リリース後、次のエラーが発生します。
注意:未定義のプロパティ:/ ..のSlim\App :: $ settings.
だから私はもう$app->settings
を使うことができませんか?それでは何を使うべきですか?
次のような設定を取得できます。
$container = $app->getContainer();
$settings = $container->get('settings');
$ thisを介して設定ルートの呼び出し可能オブジェクトにアクセスできます
$modulesSettings = $this->get('settings')['modules']['local'];
詳細については ここを読んでください
SLIM3構成ファイルのアドレスはpro/src/settings.phpであり、設定を追加できます。どのルートでも、次のようにアクセスできます。
var_dump($this->get('settings')['logger']);