超薄3:如何访问设置?

时间:2015-12-15 04:39:36

标签: php 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

所以我不能再使用$app->settings了?那我该怎么用?

3 个答案:

答案 0 :(得分:12)

您可以获得以下设置:

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

答案 1 :(得分:6)

您可以通过$ this

访问设置路由callables
$modulesSettings = $this->get('settings')['modules']['local'];

了解更多信息read here

答案 2 :(得分:3)

SLIM 3配置文件的地址是pro / src / settings.php, 你可以添加其他设置;在任何路线中,您都可以像这样访问它们:

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