爱意满满的作品展示区。
catfan

[开源项目第二弹] Medoo - 我们仍然记得那天妹抖帮我们处理SQL杂项的各种修罗场

  •  1
     
  •   catfan ·
    PRO
    · Apr 8, 2013 · 8262 views
    This topic created in 4968 days ago, the information mentioned may be changed or developed.


    这是继Qatrix JavaScript开源项目后的第二弹了,名字就叫Medoo(读音似妹抖,但不要想歪了,是来自拉丁词缀转意来的,人家才不是女仆呢!)

    Medoo是一个超轻量级的PHP SQL数据库框架,提供了简单,易学,灵活的API,提升开发Web应用的效率与性能,而且体积只有8KB不到!

    而且还有如下福利:
    * 轻量级,只有一个文件
    * 简单易学,数据结构一目了然
    * 支持多种SQL语法,以及支持复杂的查询条件
    * 支持多种数据库,包括MySQL, MSSQL, SQLite等等
    * 安全,可防止SQL注入
    * 免费,基于MIT协议

    步骤:
    1. 在medoo.php里面配置好服务器,数据库用户密码
    2. 使用如下代码便可
    // Include Medoo
    require_once 'medoo.php';

    // Initialize
    $database = new medoo('my_database');

    // Enjoy
    $database->insert('account', [
    'user_name' => 'foo'
    'email' => '[email protected]',
    'age' => 25,
    'lang' => ['en', 'fr', 'jp', 'cn']
    ]);

    官方网站: http://medoo.in

    Github: https://github.com/catfan/Medoo

    API文档: http://medoo.in/doc

    下载: http://medoo.in/download

    当然,目前项目还处于萌芽发展期,希望大家多提些意见和测试,我会尽力让这个项目做得更加完善,为开源界贡献一份力量,谢谢!m(_ _)m

    如果有项目使用此框架,不妨邮件告知,有机会会放在首页以供展示咯。

    --喵大
    25 replies  •  1970-01-01 08:00:00 +08:00
    coosir
    coosir
    Apr 8, 2013 via Android
    1
    不错不错,现在看到很多项目都有国际范
    talentsnail
    talentsnail
    Apr 8, 2013
    2
    支持下,不错啦
    AstroProfundis
    AstroProfundis
    Apr 8, 2013
    3
    很不错的样子,马克了,过一阵估计能用上w

    网站上 http://medoo.in/api/new
    All Medoo example code are used [] instead of array().

    貌似应该是 are using ?
    tamamaxox
    tamamaxox
    Apr 8, 2013
    4
    goodgood,支持开源项目
    catfan
    catfan
    OP
    PRO
    Apr 8, 2013
    5
    @AstroProfundis 小错误就不要介意了
    siw
    siw
    Apr 8, 2013
    6
    我怎么觉得怪怪的, 一个库 框架 怎能源码修改 variable 才能用
    那个 $type, $username, $password ....
    shinwood
    shinwood
    Apr 8, 2013
    7
    不得不说,楼主的代码风格看起来让人赏心悦目。
    drush
    drush
    Apr 8, 2013
    8
    现在一般也直接用框架自带的,有机会写小程序试试 mark 个支持
    catfan
    catfan
    OP
    PRO
    Apr 8, 2013
    9
    @siw 目前为了实现只需要include一个文件的特性,唯有这样设计。当然,不排除日后还有更好的实现方式。
    yangzh
    yangzh
    Apr 9, 2013
    10
    把 $type, $username, $password 放到构造函数里面会有什么问题?

    变成

    $database = new medoo('my_database', 'mysql', 'localhost', 'username', 'password');

    可以不?

    对 php 不熟,有错误莫怪。
    crossmaya
    crossmaya
    Apr 9, 2013
    11
    我觉得你写的复杂了,可读性一般。where or and join 等只需要一个变量然后最后统一解析比较好 这样拼凑的sql不易于添加新的条件。不过支持开源
    catfan
    catfan
    OP
    PRO
    Apr 9, 2013
    12
    @yangzh 确实可以,不过这样每次调用都需要填写用户名和密码了,不利于统一保存。如果还要用户写一个通用函数来调用Medoo的话,又会增加配置的复杂性。如果把配置作为一个变量写在class外头,也会有泄露的危险。
    xmbaozi
    xmbaozi
    Apr 10, 2013 via Android
    13
    好像不错,名字又好
    kofj
    kofj
    Apr 10, 2013
    14
    Mark一下~
    catfan
    catfan
    OP
    PRO
    Apr 11, 2013
    15
    @xmbaozi 话说这名字想了足足差不多一个月
    catfan
    catfan
    OP
    PRO
    Apr 14, 2013
    16
    这项目现在在国外的关注数比国内还要高.....囧
    shinwood
    shinwood
    Apr 14, 2013
    17
    似乎用楼主的代码遇到了 utf8 编码的问题。
    catfan
    catfan
    OP
    PRO
    Apr 21, 2013
    18
    @shinwood 新版本已增加编码的支持
    catfan
    catfan
    OP
    PRO
    May 28, 2013
    19
    升级到0.8.2了,配置方式比之前的更加灵活:)
    catfan
    catfan
    OP
    PRO
    Jun 10, 2013
    20
    @yangzh 这方法在0.8.2中已经支持,只是写的方式略有不同 http://medoo.in/api/new
    tylerchao
    tylerchao
    Aug 7, 2013
    21
    怎么能没有中文的说明文档
    catfan
    catfan
    OP
    PRO
    Aug 8, 2013
    22
    @tylerchao 文档本来就很简单易懂,看看例子便可。不过也有热心人士翻译了一下,网上找找就能找到。
    kiancyc
    kiancyc
    Aug 15, 2013
    23
    @catfan
    第一次用composer没装成功。
    "require": {
    "catfan/medoo": "*"
    },
    "minimum-stability": "dev"
    加了"minimum-stability": "dev" 才装成功

    现在在迁移项目中尝试,原来的SQL很乱。

    话说packigist里面的包有讨论的地方吗?
    garth
    garth
    Mar 22, 2014
    24
    正好可以用上!!哈哈……
    wwek
    wwek
    Apr 24, 2014
    25
    不错·
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1039 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 126ms · UTC 22:10 · PVG 06:10 · LAX 14:10 · JFK 17:10
    ♥ Do have faith in what you're doing.