<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 連接多個數據庫 >[success] Redis 也是同樣的配置方法,只是 ::class 不同 通常需求中連接兩個數據庫有以下兩種情況: - 第二個庫頻繁使用 - 第二個庫少量使用 ## 第二個庫頻繁使用 配置一個新的 ConnectionPool::class 類的 Bean 調用另一個數據庫 >[danger] 使用該功能需先閱讀 "核心功能 > 依賴注入" 章節 首先在 .env 增加新的數據庫使用的連接信息: ~~~ DATABASE_DSN_2='mysql:host=127.0.0.1;port=3306;charset=utf8;dbname=test' DATABASE_USERNAME_2=root DATABASE_PASSWORD_2= ~~~ 然后在 manifest.php 增加名稱為 `db2` 的 Connection::class 依賴配置: - 配置中使用了上面配置的新環境變量 ~~~ // Database [ // 名稱 'name' => 'db2', // 類路徑 'class' => \Mix\Database\Connection::class, // 初始化方法 'initMethod' => 'connect', // 屬性注入 'properties' => [ // 數據源格式 'dsn' => getenv('DATABASE_DSN_2'), // 數據庫用戶名 'username' => getenv('DATABASE_USERNAME_2'), // 數據庫密碼 'password' => getenv('DATABASE_PASSWORD_2'), // 驅動連接選項: http://php.net/manual/zh/pdo.setattribute.php 'attributes' => [ // 設置默認的提取模式: \PDO::FETCH_OBJ | \PDO::FETCH_ASSOC \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC, // 超時 \PDO::ATTR_TIMEOUT => 5, ], // 事件調度器 'eventDispatcher' => ['ref' => \Mix\Event\EventDispatcher::class], ], ], ~~~ 新增一個撥號器 Database2Dialer::class: - 通過依賴名稱 `db2` 實例化數據庫連接對象 ~~~ <?php namespace App\Common\Dialers; use Mix\Database\Connection; use Mix\Pool\DialerInterface; /** * Class Database2Dialer * @package App\Common\Dialers * @author liu,jian <coder.keda@gmail.com> */ class Database2Dialer implements DialerInterface { /** * 撥號 * @return Connection */ public function dial() { // 創建一個連接并返回 return context()->get('db2'); } } ~~~ 在 manifest.php 增加名稱為 `dbPool2` 的 ConnectionPool::class 依賴配置: - 配置中 dialer 屬性引用了 Database2Dialer::class 完成撥號 ~~~ // Database連接池 [ // 名稱 'name' => 'dbPool2', // 作用域 'scope' => \Mix\Bean\BeanDefinition::SINGLETON, // 類路徑 'class' => \Mix\Database\Pool\ConnectionPool::class, // 屬性注入 'properties' => [ // 最多可空閑連接數 'maxIdle' => 5, // 最大連接數 'maxActive' => 50, // 撥號器 'dialer' => ['ref' => \App\Common\Dialers\Database2Dialer::class], ], ], // Database連接池撥號 [ // 類路徑 'class' => \App\Common\Dialers\Database2Dialer::class, ], ~~~ 業務代碼中調用: ~~~ /** @var \Mix\Database\Pool\ConnectionPool $dbPool */ $dbPool = context()->get('dbPool2'); $db = $dbPool->getConnection(); //... $db->release(); // 不手動釋放的連接不會歸還連接池,會在析構時丟棄 ~~~ ## 第二個庫少量使用 通過依賴注入直接實例化另一個數據庫的連接 >[danger] 使用該功能需先閱讀 "核心功能 > 依賴注入" 章節 首先在 .env 增加新的數據庫使用的連接信息: ~~~ DATABASE_DSN_2='mysql:host=127.0.0.1;port=3306;charset=utf8;dbname=test' DATABASE_USERNAME_2=root DATABASE_PASSWORD_2= ~~~ 然后在 manifest.php 增加名稱為 `db2` 的 Connection::class 依賴配置: - 配置中使用了上面配置的新環境變量 ~~~ // Database [ // 名稱 'name' => 'db2', // 類路徑 'class' => \Mix\Database\Connection::class, // 初始化方法 'initMethod' => 'connect', // 屬性注入 'properties' => [ // 數據源格式 'dsn' => getenv('DATABASE_DSN_2'), // 數據庫用戶名 'username' => getenv('DATABASE_USERNAME_2'), // 數據庫密碼 'password' => getenv('DATABASE_PASSWORD_2'), // 驅動連接選項: http://php.net/manual/zh/pdo.setattribute.php 'attributes' => [ // 設置默認的提取模式: \PDO::FETCH_OBJ | \PDO::FETCH_ASSOC \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC, // 超時 \PDO::ATTR_TIMEOUT => 5, ], // 事件調度器 'eventDispatcher' => ['ref' => \Mix\Event\EventDispatcher::class], ], ], ~~~ 業務代碼中調用: ~~~ /** @var \Mix\Database\Connection $db */ $db = context()->get('db2'); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看