Доступ к конфигурации в статическом методе

1

Как получить доступ к конфигурации в статическом методе контроллера? У меня есть Phalcon 1.3. Этот метод не работает:

$offerSource = $this->config->offerSource;
  • 0
    $this не существует в статическом методе, поскольку для вызова статического метода не требуется никаких экземпляров. Почему у вас есть статический метод на контроллере?
Теги:
phalcon

2 ответа

3
Лучший ответ

Попробуй это!

Доступ к DI в статическом режиме

При необходимости вы можете получить доступ к последнему DI, созданному в статической функции. Вы можете использовать \Phalcon\DI::getDefault() в статическом методе. Больше информации

public function indexAction()
{
    $this->StaticMethod();
}

private static function StaticMethod()
{
    $config = \Phalcon\DI::getDefault()['config']->toArray();
    echo "<pre>";
    print_r($config);
    echo "</pre>";
    exit;
}
  • 0
    Это работает! Спасибо!
  • 0
    @sdafasdf Пожалуйста, проголосуйте за ответ!
0

Как упоминалось, псевдовариантный $ это не допускается в статических методах. Вы можете объявить конфигурационное свойство как статическое, а затем получить доступ к нему в статических методах: self :: $ config

  • 0
    Как я могу объявить статическое свойство config? Я не знаю, как это сделать без этого.
  • 0
    Добавьте ключевое слово «static» в объявление свойства config, чтобы (при условии, что config имеет защищенную видимость) это будет выглядеть так: protected static $ config;
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню