Сразу после создания экземпляра моего нового приложения Silex \ Application я хотел бы условно установить $ app ['debug'] в зависимости от того, находит ли он себя в моем домене DEV или мой домен PROD.
Я сейчас делаю:
$app = new Application();
$request = Request::createFromGlobals();
if ($request->getHost() == 'production.mydomain') { // PRODuction
$app['debug'] = false;
} else { // DEVelopment
$app['debug'] = true;
}
Согласно http://silex.sensiolabs.org/doc/usage.html#example-post-route
Текущий запрос автоматически впрыскивается Silex к закрытию благодаря типа намекая. Это экземпляр Request, так что вы можете получить переменные fetch с помощью метода get request.
Но по причинам, которые я не понимаю, текущий запрос не представляется доступным в контексте, где мне нужно установить $ app ['debug'], поэтому я создаю экземпляр копии со статическим createFromGlobals. Все это кажется немного расточительным.
Есть ли лучший способ сделать это? Благодаря!
Спасибо - это имеет смысл. Я использовал $ app ['debug'] в качестве аргумента: ExceptionHandler :: register ($ app ['debug']); и я не думаю, что это возможно или имеет смысл сделать это в промежуточном программном обеспечении. –
Нет, не имеет смысла. Я всегда настраивал debug через конфигурационный файл или переменную env. – Maerlyn