Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9024293
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T05:58:15+00:00 2026-06-16T05:58:15+00:00

I am working on a Symfony2 site that will host many sites, and each

  • 0

I am working on a Symfony2 site that will host many sites, and each site will have its own database. I have implemented a service uses reflection to change connection parameters (username, password, dbname) on the ‘client’ entity manager. I’m not sure how to trigger this service before FOSUserBundle invokes its authentication services. I tried to create a Symfony2 Request event listener, but that doesn’t seem to work:

class RequestListener {
    private $clientSiteContext;

    function __construct($clientSiteContext) {
        $this->clientSiteContext = $clientSiteContext;
    }

    public function onKernelRequest(GetResponseEvent $event) {
        if ($event->getRequestType() == HttpKernel::MASTER_REQUEST) {
            $this->clientSiteContext->resetClientEntityManager();
        }
    }
}

resetClientEntityManager() implementation

public function resetClientEntityManager() {
    /** @var $doctrine \Doctrine\Bundle\DoctrineBundle\Registry */
    $doctrine = $this->container->get('doctrine');

    $dbConfig = $this->getConnectionParams();
    $dbalServiceName = sprintf('doctrine.dbal.%s_connection', 'client');
    $clientEmName = 'client';

    $connection = $this->container->get($dbalServiceName);
    $connection->close();

    $refConn = new \ReflectionObject($connection);
    $refParams = $refConn->getProperty('_params');
    $refParams->setAccessible('public');

    $params = $refParams->getValue($connection);
    $params['dbname'] = $dbConfig['dbname'];
    $params['user'] = $dbConfig['user'];
    $params['host'] = $dbConfig['host'];
    $params['password'] = $dbConfig['password'];
    $params['driver'] = $dbConfig['driver'];
    $params['charset'] = 'UTF8';

    $refParams->setAccessible('private');
    $refParams->setValue($connection, $params);

    $doctrine->resetEntityManager($clientEmName);
}

Can someone advise how I can get this Listener to get call once for every page request, and for it to affect the Entity Manager that FOSUserBundle uses?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-16T05:58:16+00:00Added an answer on June 16, 2026 at 5:58 am

    You’d have to have this before any of the Kernel events. Probably the best place for it would be to put it somewhere within your AppKernel (app/AppKernel.php) itself.

    You could probably take it in to getBundles(), or add something like:

    public function boot() {
        parent::boot();
        resetClientEntityManager();
    }
    

    I haven’t tested that out, but it should do the trick. boot() is the function where the container is initialized, so you should be making the switch right after the container is initialized, before anything else has a chance to do anything.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a Symfony2 project with its own database, and now I want to
I have a already working Twig extension in my Symfony2 app: namespace Company\MyBundle\Service; class
Working with Symfony2.0 and jQuery, I have a web application that in certain moment
I have a working Symfony2 application running on my local server that I want
I'm working on a kind of dashboard mini site that has blocks with a
I've been trying to get a database login system working with Symfony2. I've read
I am working on my test application in symfony2 with sqlite. I have install
I have a site that is for a video game I play and am
I'm working with symfony2, I have a table and I want to manually assign
I'm working on a Symfony2 application, that I use to manage my monthly budget.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.