概述
Medoo 是一个轻量级的 PHP 数据库框架,它提供了一个简单易用的查询构建器,允许开发者以一种优雅的方式与数据库进行交互。Medoo 使用 PDO 扩展来提供数据库抽象层,支持多种数据库系统,如:MySQL、PostgreSQL、SQLite 等。
特点
- 简洁的语法:Medoo 提供了简洁的查询构建语法,使得编写 SQL 查询变得直观和容易。
- 链式操作:支持链式调用,使得代码更加简洁和易于阅读。
- 类型安全:通过 PDO 的参数绑定,Medoo 提供了良好的类型安全。
- 跨数据库支持:支持多种数据库类型,让开发者可以轻松切换数据库系统。
- 易于扩展:Medoo 的架构设计允许开发者根据需要进行扩展和自定义
基本使用
安装
代码语言:javascript复制composer require catfan/medoo
使用
代码语言:javascript复制<?php
/**
* @desc medoo.php 描述信息
* @author Tinywan(ShaoBo Wan)
* @date 2024/6/29 17:42
*/
declare(strict_types=1);
require_once __DIR__ . '/../vendor/autoload.php';
use MedooMedoo;
$database = new Medoo([
'type' => 'mysql',
'host' => 'dnmp-mysql',
'database' => 'demo',
'username' => 'root',
'password' => '123456'
]);
$database->insert('demo_user', [
'username' => 'Tinywan',
'mobile' => 1366936666
]);
$data = $database->select('demo_user', [
'username',
'mobile'
], [
'id' => 72
]);
echo json_encode($data);
打印输出
代码语言:javascript复制[{"username":"Tinywan","mobile":"1366936666"}]
webman使用
安装
安装medoo插件包
代码语言:javascript复制composer require webman/medoo
配置
配置文件位置在config/plugin/webman/medoo/database.php
使用
代码语言:javascript复制<?php
namespace appcontroller;
use supportRequest;
use WebmanMedooMedoo;
class Index
{
public function index(Request $request)
{
$user = Medoo::get('user', '*', ['uid' => 1]);
return json($user);
}
}
多数据库配置
config/plugin/webman/medoo/database.php
里新增一个配置,key任意,这里使用的是resty
。
<?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'
]
],
// 这里新增了一个resty的配置
'resty' => [
'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'
]
],
];
使用
代码语言:javascript复制$user = Medoo::instance('resty')->get('user', '*', ['uid' => 1]);
小结
Medoo 适合于需要快速开发和简单数据库操作的项目。如果你正在寻找一个轻量级且功能强大的 PHP 数据库框架,Medoo 可能是一个不错的选择。
Medoo官方文档:https://medoo.in/api/select