Medoo ฐานข้อมูล
webman/medoo เพิ่มฟังก์ชันการเชื่อมต่อแบบพูลบนพื้นฐานของMedoo และรองรับสภาพแวดล้อมร่วมและไม่ร่วม วิธีการใช้งานจะเหมือนกับ Medoo
หมายเหตุ
เอกสารฉบับนี้เป็นสำหรับเวอร์ชัน webman v2 หากคุณกำลังใช้เวอร์ชัน webman v1 กรุณาไปที่ เอกสารเวอร์ชัน v1
การติดตั้ง
composer require webman/medoo
การกำหนดค่าฐานข้อมูล Medoo
ตำแหน่งไฟล์การกำหนดค่าอยู่ที่ config/plugin/webman/medoo/database.php
การใช้งานฐานข้อมูล Medoo
<?php
namespace app\controller;
use support\Request;
use support\Medoo;
class Index
{
public function index(Request $request)
{
$user = Medoo::get('user', '*', ['uid' => 1]);
return json($user);
}
}
提示
Medoo::get('user', '*', ['uid' => 1]);
เท่ากับ
Medoo::instance('default')->get('user', '*', ['uid' => 1]);
การกำหนดค่าฐานข้อมูล Medoo หลายฐานข้อมูล
การกำหนดค่า
เพิ่มการกำหนดค่าใหม่ใน config/plugin/webman/medoo/database.php
โดยใช้ key ใดก็ได้ ที่นี่ใช้เป็น other
<?php
return [
'default' => [
'type' => 'mysql',
'host' => 'localhost',
'database' => 'database',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',
'port' => 3306,
'prefix' => '',
'logging' => false,
'error' => PDO::ERRMODE_EXCEPTION,
'option' => [
PDO::ATTR_CASE => PDO::CASE_NATURAL
],
'command' => [
'SET SQL_MODE=ANSI_QUOTES'
],
'pool' => [ // การกำหนดค่าการเชื่อมต่อแบบพูล
'max_connections' => 5, // จำนวนการเชื่อมต่อสูงสุด
'min_connections' => 1, // จำนวนการเชื่อมต่อขั้นต่ำ
'wait_timeout' => 60, // เวลารอสูงสุดสำหรับการได้รับการเชื่อมต่อจากพูล หากหมดเวลา จะโยนข้อยกเว้น
'idle_timeout' => 3, // เวลาว่างสูงสุดของการเชื่อมต่อในพูล หากหมดเวลา จะทำการปิดและกลับคืน จนกว่าจำนวนการเชื่อมต่อจะเท่ากับ min_connections
'heartbeat_interval' => 50, // เวลาตรวจสอบการเชื่อมต่อแบบพูล หน่วยเป็นวินาที แนะนำให้ต่ำกว่า 60 วินาที
]
],
// ที่นี่ได้เพิ่มการกำหนดค่าเป็นอื่น
'other' => [
'type' => 'mysql',
'host' => 'localhost',
'database' => 'database',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',
'port' => 3306,
'prefix' => '',
'logging' => false,
'error' => PDO::ERRMODE_EXCEPTION,
'option' => [
PDO::ATTR_CASE => PDO::CASE_NATURAL
],
'command' => [
'SET SQL_MODE=ANSI_QUOTES'
],
'pool' => [
'max_connections' => 5,
'min_connections' => 1,
'wait_timeout' => 60,
'idle_timeout' => 3,
'heartbeat_interval' => 50,
],
],
];
การใช้งานฐานข้อมูล Medoo
$user = Medoo::instance('other')->get('user', '*', ['uid' => 1]);
ดูเพิ่มเติมที่ เอกสารทางการของ Medoo