Skip to content
This repository has been archived by the owner on Jul 4, 2018. It is now read-only.

Commit

Permalink
Remove mandatory dependency on request_stack and some monolog improve…
Browse files Browse the repository at this point in the history
…ments
  • Loading branch information
Seldaek committed Sep 2, 2015
1 parent 2183542 commit 50fbc38
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 17 deletions.
23 changes: 13 additions & 10 deletions src/Silex/Provider/MonologServiceProvider.php
Expand Up @@ -43,9 +43,11 @@ public function register(Container $app)
return new DebugHandler($level);
};

$app['monolog.not_found_activation_strategy'] = function () use ($app) {
return new NotFoundActivationStrategy($app['request_stack'], array('^/'), $app['monolog.level']);
};
if (isset($app['request_stack'])) {
$app['monolog.not_found_activation_strategy'] = function () use ($app) {
return new NotFoundActivationStrategy($app['request_stack'], array('^/'), $app['monolog.level']);
};
}
}

$app['monolog.logger.class'] = $bridge ? 'Symfony\Bridge\Monolog\Logger' : 'Monolog\Logger';
Expand All @@ -60,14 +62,18 @@ public function register(Container $app)

$log->pushHandler($handler);

if ($app['debug'] && isset($app['monolog.handler.debug'])) {
$log->pushHandler($app['monolog.handler.debug']);
}

return $log;
};

$app['monolog.formatter'] = function () {
return new LineFormatter();
};

$app['monolog.handler'] = function () use ($app) {
$app['monolog.handler'] = $defaultHandler = function () use ($app) {
$level = MonologServiceProvider::translateLevel($app['monolog.level']);

$handler = new Handler\StreamHandler($app['monolog.logfile'], $level, $app['monolog.bubble'], $app['monolog.permission']);
Expand All @@ -76,17 +82,14 @@ public function register(Container $app)
return $handler;
};

$app['monolog.handlers'] = function () use ($app) {
$app['monolog.handlers'] = function () use ($app, $defaultHandler) {
$handlers = array();

if ($app['monolog.logfile']) {
// enables the default handler if a logfile was set or the monolog.handler service was redefined
if ($app['monolog.logfile'] || $defaultHandler !== $app->raw('monolog.handler')) {
$handlers[] = $app['monolog.handler'];
}

if ($app['debug'] && isset($app['monolog.handler.debug'])) {
$handlers[] = $app['monolog.handler.debug'];
}

return $handlers;
};

Expand Down
12 changes: 8 additions & 4 deletions src/Silex/Provider/TranslationServiceProvider.php
Expand Up @@ -54,9 +54,11 @@ public function register(Container $app)
return $translator;
};

$app['translator.listener'] = function ($app) {
return new TranslatorListener($app['translator'], $app['request_stack']);
};
if (isset($app['request_stack'])) {
$app['translator.listener'] = function ($app) {
return new TranslatorListener($app['translator'], $app['request_stack']);
};
}

$app['translator.message_selector'] = function () {
return new MessageSelector();
Expand All @@ -73,6 +75,8 @@ public function register(Container $app)

public function subscribe(Container $app, EventDispatcherInterface $dispatcher)
{
$dispatcher->addSubscriber($app['translator.listener']);
if (isset($app['translator.listener'])) {
$dispatcher->addSubscriber($app['translator.listener']);
}
}
}
10 changes: 7 additions & 3 deletions src/Silex/Provider/TwigServiceProvider.php
Expand Up @@ -44,7 +44,9 @@ public function register(Container $app)
if (isset($app['security.token_storage'])) {
$var->setTokenStorage($app['security.token_storage']);
}
$var->setRequestStack($app['request_stack']);
if (isset($app['request_stack'])) {
$var->setRequestStack($app['request_stack']);
}
$var->setDebug($app['debug']);

return $var;
Expand All @@ -67,8 +69,10 @@ public function register(Container $app)
}

if (class_exists('Symfony\Bridge\Twig\Extension\RoutingExtension')) {
$twig->addExtension(new HttpFoundationExtension($app['request_stack']));
$twig->addExtension(new RoutingExtension($app['url_generator']));
if (isset($app['request_stack'])) {
$twig->addExtension(new HttpFoundationExtension($app['request_stack']));
$twig->addExtension(new RoutingExtension($app['url_generator']));
}

if (isset($app['translator'])) {
$twig->addExtension(new TranslationExtension($app['translator']));
Expand Down

0 comments on commit 50fbc38

Please sign in to comment.