silexphp / Silex-WebProfiler

MIT License
210 stars 61 forks source link

Silex Web Profiler broken TranslationService #42

Closed MHaendel closed 6 years ago

MHaendel commented 10 years ago

Hey,

if I turn on the WebProfiler all translations are working fine depending on the route. if I turn it off, even print_r($app['translator']->getLocale()); prints nothing.

Any Idea what this is causing?

<?php

use Silex\Provider\FormServiceProvider;
use Silex\Provider\HttpCacheServiceProvider;
use Silex\Provider\MonologServiceProvider;
use Silex\Provider\SecurityServiceProvider;
use Silex\Provider\ServiceControllerServiceProvider;
use Silex\Provider\SessionServiceProvider;
use Silex\Provider\TranslationServiceProvider;
use Silex\Provider\TwigServiceProvider;
use Silex\Provider\UrlGeneratorServiceProvider;
use Silex\Provider\ValidatorServiceProvider;
use Silex\Provider\WebProfilerServiceProvider;
use SilexAssetic\AsseticServiceProvider;
use Symfony\Component\Security\Core\Encoder\PlaintextPasswordEncoder;
use Symfony\Component\Translation\Loader\YamlFileLoader;

$app->register(new HttpCacheServiceProvider());

$app->register(new SessionServiceProvider());
$app->register(new ValidatorServiceProvider());
$app->register(new FormServiceProvider());
$app->register(new UrlGeneratorServiceProvider());
$app->register(new Silex\Provider\DoctrineServiceProvider());

$app->register(new SecurityServiceProvider(), array(
    'security.firewalls' => array(
        'admin' => array(
            'pattern' => '^/',
            'form'    => array(
                'login_path'         => '/login',
                'username_parameter' => 'form[username]',
                'password_parameter' => 'form[password]',
            ),
            'logout'    => true,
            'anonymous' => true,
            'users'     => array(),
        ),
    ),
));

$app['security.encoder.digest'] = $app->share(function ($app) {
    return new PlaintextPasswordEncoder();
});

$app['portal'] = $app->share(function ($app) {
    return $app['db']->fetchAssoc('SELECT * FROM domains WHERE domain = ?', array($_SERVER['SERVER_NAME']));
});

$app->register(new TranslationServiceProvider());
$app['translator'] = $app->share($app->extend('translator', function ($translator, $app) {
    $translator->addLoader('yaml', new YamlFileLoader());

    $translator->addResource('yaml', __DIR__.'/../resources/locales/de.yml', 'de');
    $translator->addResource('yaml', __DIR__.'/../resources/locales/en.yml', 'en');

    $translator->addResource('yaml', __DIR__.'/../web/cdn/'.$app['portal']['domain'].'/locales/de.yml', 'de');
    $translator->addResource('yaml', __DIR__.'/../web/cdn/'.$app['portal']['domain'].'/locales/en.yml', 'en');

    return $translator;
}));

$app->register(new MonologServiceProvider(), array(
    'monolog.logfile' => __DIR__.'/../resources/log/app.log',
    'monolog.name'    => 'app',
    'monolog.level'   => 300 // = Logger::WARNING
));

$app->register(new TwigServiceProvider(), array(
    'twig.options'        => array(
        'cache'            => isset($app['twig.options.cache']) ? $app['twig.options.cache'] : false,
        'strict_variables' => true
    ),
    'twig.form.templates' => array('form_div_layout.html.twig', 'common/form_div_layout.html.twig'),
    'twig.path'           => array(__DIR__ . '/../resources/views')
));

$app->register(new ServiceControllerServiceProvider());

if ($app['debug'] && isset($app['cache.path'])) {
    $app->register(new ServiceControllerServiceProvider());
    $app->register(new WebProfilerServiceProvider(), array(
        'profiler.cache_dir' => $app['cache.path'].'/profiler',
    ));
}

$app['statistic_organizer'] = $app->share(function ($app) {
    return new MasterCode\StatisticOrganizer($app['db']);
});
$app['advertising_organizer'] = $app->share(function ($app) {
    return new MasterCode\AdvertisingOrganizer($app['db']);
});
$app['repository.video'] = $app->share(function ($app) {
    return new MasterCode\Repository\VideoRepository($app['db']);
});

return $app;
fabpot commented 6 years ago

Closing this old issue.