栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Symfony2,动态数据库连接/主义服务的早期覆盖

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Symfony2,动态数据库连接/主义服务的早期覆盖

这是新的和改进的非反射版本

#services.ymlacme_app.dynamic_connection:    class: %acme.dynamic_doctrine_connection.class%    calls:        - [setDoctrineConnection, [@doctrine.dbal.default_connection]]<?phpnamespace AcmeBundleAppBundle;use DoctrineDBALConnection;use SymfonyComponentHttpKernelExceptionServiceUnavailableHttpException;use Exception;class DynamicDoctrineConnection{        private $connection;        public function setDoctrineConnection(Connection $connection)    {        $this->connection = $connection;        return $this;    }    public function setUpAppConnection()    {        if ($this->request->attributes->has('appId')) { $connection = $this->connection; $params     = $this->connection->getParams(); // we also check if the current connection needs to be closed based on various things // have left that part in for information here // $appId changed from that in the connection? // if ($connection->isConnected()) { //     $connection->close(); // } // Set default DB connection using appId //$params['host']   = $someHost; $params['dbname'] = 'Acme_App'.$this->request->attributes->get('appId'); // Set up the parameters for the parent $connection->__construct(     $params, $connection->getDriver(), $connection->getConfiguration(),     $connection->getEventManager() ); try {     $connection->connect(); } catch (Exception $e) {     // log and handle exception }        }        return $this;    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379803.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号