前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Medoo 轻量级PHP数据库框架

Medoo 轻量级PHP数据库框架

作者头像
Tinywan
发布2024-07-05 12:44:27
1120
发布2024-07-05 12:44:27
举报
文章被收录于专栏:开源技术小栈开源技术小栈

概述

Medoo 是一个轻量级的 PHP 数据库框架,它提供了一个简单易用的查询构建器,允许开发者以一种优雅的方式与数据库进行交互。Medoo 使用 PDO 扩展来提供数据库抽象层,支持多种数据库系统,如:MySQL、PostgreSQL、SQLite 等。

特点

  1. 简洁的语法:Medoo 提供了简洁的查询构建语法,使得编写 SQL 查询变得直观和容易。
  2. 链式操作:支持链式调用,使得代码更加简洁和易于阅读。
  3. 类型安全:通过 PDO 的参数绑定,Medoo 提供了良好的类型安全。
  4. 跨数据库支持:支持多种数据库类型,让开发者可以轻松切换数据库系统。
  5. 易于扩展: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 Medoo\Medoo;

$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 app\controller;

use support\Request;
use Webman\Medoo\Medoo;

class Index
{
    public function index(Request $request)
    {
        $user = Medoo::get('user', '*', ['uid' => 1]);
        return json($user);
    }
}
多数据库配置

config/plugin/webman/medoo/database.php里新增一个配置,key任意,这里使用的是resty

代码语言:javascript
复制
<?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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 特点
  • 基本使用
    • 安装
      • 使用
      • webman使用
        • 安装
          • 配置
            • 使用
              • 多数据库配置
              • 小结
              相关产品与服务
              数据库
              云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档