中文在线一区二区_欧美在线综合_久久久久久综合_欧美一区二区三区视频_国产免费看_国产福利精品一区

ORM

EasySwoole 為了支持以 PHP 8 注解的方式來定義數(shù)據(jù)庫對象映射,于是開發(fā)了 fast-db 這個數(shù)據(jù)庫操作組件。

關(guān)于舊版本 ORM 文檔的用法可查看 GithubGitee

組件要求

  • EasySwoole >=3.7.1
  • php: >= 8.1
  • easyswoole/mysqli: ^3.0
  • easyswoole/pool: ^2.0
  • easyswoole/spl: ^2.0

安裝

composer require easyswoole/fast-db

連接池注冊

在 EasySwoole 中使用

首先我們在 EasySwoole 框架的 EasySwooleEvent 事件(即框架根目錄的 EasySwooleEvent.php 文件中)的 initialize 方法 或 mainServerCreate 方法中進行注冊連接,如下所示:

EasySwooleEvent.php

<?php

namespace EasySwoole\EasySwoole;

use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\EasySwoole\Swoole\EventRegister;
use EasySwoole\FastDb\FastDb;

class EasySwooleEvent implements Event
{
    public static function initialize()
    {
        date_default_timezone_set('Asia/Shanghai');

        // 注冊方式1:在 initialize 方法中注冊連接
        $config = new \EasySwoole\FastDb\Config([
            'name'              => 'default',    // 設(shè)置 連接池名稱,默認為 default
            'host'              => '127.0.0.1',  // 設(shè)置 數(shù)據(jù)庫 host
            'user'              => 'easyswoole', // 設(shè)置 數(shù)據(jù)庫 用戶名
            'password'          => 'easyswoole', // 設(shè)置 數(shù)據(jù)庫 用戶密碼
            'database'          => 'easyswoole', // 設(shè)置 數(shù)據(jù)庫庫名
            'port'              => 3306,         // 設(shè)置 數(shù)據(jù)庫 端口
            'timeout'           => 5,            // 設(shè)置 數(shù)據(jù)庫連接超時時間
            'charset'           => 'utf8',       // 設(shè)置 數(shù)據(jù)庫字符編碼,默認為 utf8
            'autoPing'          => 5,            // 設(shè)置 自動 ping 客戶端鏈接的間隔
            'useMysqli'         => false,        // 設(shè)置 不使用 php mysqli 擴展連接數(shù)據(jù)庫
            // 配置 數(shù)據(jù)庫 連接池配置,配置詳細說明請看連接池組件 http://m.jrrswxmm.cn/Components/Pool/introduction.html
            // 下面的參數(shù)可使用組件提供的默認值
            'intervalCheckTime' => 15 * 1000,    // 設(shè)置 連接池定時器執(zhí)行頻率
            'maxIdleTime'       => 10,           // 設(shè)置 連接池對象最大閑置時間 (秒)
            'maxObjectNum'      => 20,           // 設(shè)置 連接池最大數(shù)量
            'minObjectNum'      => 5,            // 設(shè)置 連接池最小數(shù)量
            'getObjectTimeout'  => 3.0,          // 設(shè)置 獲取連接池的超時時間
            'loadAverageTime'   => 0.001,        // 設(shè)置 負載閾值
        ]);
        // 或使用對象設(shè)置屬性方式進行配置
        // $config->setName('default');
        // $config->setHost('127.0.0.1');
        FastDb::getInstance()->addDb($config);
        // 或在注冊時指定連接池的名稱
        // FastDb::getInstance()->addDb($config, $config['name']);
    }

    public static function mainServerCreate(EventRegister $register)
    {
        // 注冊方式2:在 mainServerCreate 方法中注冊連接
//        $config = new \EasySwoole\FastDb\Config([
//            'name'              => 'default',    // 設(shè)置 連接池名稱,默認為 default
//            'host'              => '127.0.0.1',  // 設(shè)置 數(shù)據(jù)庫 host
//            'user'              => 'easyswoole', // 設(shè)置 數(shù)據(jù)庫 用戶名
//            'password'          => 'easyswoole', // 設(shè)置 數(shù)據(jù)庫 用戶密碼
//            'database'          => 'easyswoole', // 設(shè)置 數(shù)據(jù)庫庫名
//            'port'              => 3306,         // 設(shè)置 數(shù)據(jù)庫 端口
//            'timeout'           => 5,            // 設(shè)置 數(shù)據(jù)庫連接超時時間
//            'charset'           => 'utf8',       // 設(shè)置 數(shù)據(jù)庫字符編碼,默認為 utf8
//            'autoPing'          => 5,            // 設(shè)置 自動 ping 客戶端鏈接的間隔
//            // 配置 數(shù)據(jù)庫 連接池配置,配置詳細說明請看連接池組件 http://m.jrrswxmm.cn/Components/Pool/introduction.html
//            // 下面的參數(shù)可使用組件提供的默認值
//            'intervalCheckTime' => 15 * 1000,    // 設(shè)置 連接池定時器執(zhí)行頻率
//            'maxIdleTime'       => 10,           // 設(shè)置 連接池對象最大閑置時間 (秒)
//            'maxObjectNum'      => 20,           // 設(shè)置 連接池最大數(shù)量
//            'minObjectNum'      => 5,            // 設(shè)置 連接池最小數(shù)量
//            'getObjectTimeout'  => 3.0,          // 設(shè)置 獲取連接池的超時時間
//            'loadAverageTime'   => 0.001,        // 設(shè)置 負載閾值
//        ]);
//        FastDb::getInstance()->addDb($config);
    }
}

上述2種注冊方式注冊結(jié)果是一樣的。如需注冊多個鏈接,請在配置項中加入 name 屬性用于區(qū)分連接池。

在其他框架中使用

<?php
use EasySwoole\FastDb\FastDb;
$config = new \EasySwoole\FastDb\Config([
    'name'              => 'default',    // 設(shè)置 連接池名稱,默認為 default
    'host'              => '127.0.0.1',  // 設(shè)置 數(shù)據(jù)庫 host
    'user'              => 'easyswoole', // 設(shè)置 數(shù)據(jù)庫 用戶名
    'password'          => 'easyswoole', // 設(shè)置 數(shù)據(jù)庫 用戶密碼
    'database'          => 'easyswoole', // 設(shè)置 數(shù)據(jù)庫庫名
    'port'              => 3306,         // 設(shè)置 數(shù)據(jù)庫 端口
    'timeout'           => 5,            // 設(shè)置 數(shù)據(jù)庫連接超時時間
    'charset'           => 'utf8',       // 設(shè)置 數(shù)據(jù)庫字符編碼,默認為 utf8
    'autoPing'          => 5,            // 設(shè)置 自動 ping 客戶端鏈接的間隔
    'useMysqli'         => false,        // 設(shè)置 不使用 php mysqli 擴展連接數(shù)據(jù)庫
    // 配置 數(shù)據(jù)庫 連接池配置,配置詳細說明請看連接池組件 http://m.jrrswxmm.cn/Components/Pool/introduction.html
    // 下面的參數(shù)可使用組件提供的默認值
    'intervalCheckTime' => 15 * 1000,    // 設(shè)置 連接池定時器執(zhí)行頻率
    'maxIdleTime'       => 10,           // 設(shè)置 連接池對象最大閑置時間 (秒)
    'maxObjectNum'      => 20,           // 設(shè)置 連接池最大數(shù)量
    'minObjectNum'      => 5,            // 設(shè)置 連接池最小數(shù)量
    'getObjectTimeout'  => 3.0,          // 設(shè)置 獲取連接池的超時時間
    'loadAverageTime'   => 0.001,        // 設(shè)置 負載閾值
]);
FastDb::getInstance()->addDb($config);

配置項解析

\EasySwoole\FastDb\Config 繼承自 \EasySwoole\Pool\Config ,因此 ORM 具備連接池的特性。

  • autoPing
  • intervalCheckTime
  • maxIdleTime
  • maxObjectNum
  • minObjectNum
主站蜘蛛池模板: 成人精品久久久 | 激情综合网婷婷 | 免费观看av | 91精品一区二区三区久久久久久 | 色狠狠一区二区三区香蕉 | 欧美精品一区在线 | 亚洲成人av在线 | 国产一区二区在线免费观看 | 91精品国产91久久综合桃花 | 中文字幕在线影院 | 亚洲成人激情在线 | 日本理论在线 | 国产黄色一级片视频 | 荷兰欧美一级毛片 | 亚洲欧美视频 | 少妇自摸视频 | 欧美视频中文字幕 | 久久女人精品 | 国产成人精品一区二区三区视频 | 亚洲精品黄色 | 欧美成人福利 | av中文字幕在线观看 | 国产精品自产拍在线观看 | 欧美日韩国产精品一区二区 | 日本激情网 | 欧美精品一区二区三区手机在线 | 自拍偷拍 欧美日韩 | 欧美日韩精品一区二区 | 国产精品 日韩 | 欧美在线a | 国产在线拍揄自揄拍视频 | 精品久久国产 | 久综合网 | 希岛爱理一区二区三区av高清 | 一区二区三区 在线 | 日日干夜夜操 | 亚洲高清在线观看 | 日韩欧美在线视频 | 激情久久婷婷 | 国产一区二区三区免费播放 | 丁香综合 |