Slim 3: как получить доступ к настройкам?

До выпуска 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 in / …

Так что я не могу использовать $app->settings больше? Что я должен использовать тогда?

9

Решение

Вы можете получить такие настройки:

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

Другие решения

Вы можете получить доступ к настройкам маршрутизации через $ this

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

Для дополнительной информации читай здесь

6

Адрес конфигурационного файла SLIM 3: pro / src / settings.php,
и вы можете добавить дополнительные настройки; На любом маршруте вы можете получить к ним доступ следующим образом:

var_dump($this->get('settings')['logger']);
3
По вопросам рекламы [email protected]