Medoo个人修改版

  Medoo是一款轻量级的php数据库操作类,下面不会介绍Medoo的使用方法,想学习Medoo请前往官网自学:http://medoo.in/

  在接触Medoo之前,一直是用自己写的php数据库操作类,而发现Medoo立马就喜欢上了它,但是对它的调试方式不喜欢。

  Medoo提供两种调试,分别是:

  error()

1
2
3
4
5
6
7
8
9
10
11
12
$database = new medoo("my_database");
  
$database->select("bccount", [
    "user_name",
    "email"
], [
    "user_id[<]" => 20
]);
  
var_dump($database->error());
  
// array(3) { [0]=> string(5) "42S02" [1]=> int(1146) [2]=> string(36) "Table 'my_database.bccount' doesn't exist" }

  last_query()

1
2
3
4
5
6
7
8
9
10
11
$database = new medoo("my_database");
  
$database->select("account", [
    "user_name",
    "email"
], [
    "user_id[<]" => 20
]);
  
echo $database->last_query();
// SELECT user_name, email FROM account WHERE user_id < 20

  对于last_query()的使用我个人挺不习惯的,首先使用太麻烦,我坚决认为调试输出报错信息或者sql语句的操作一定要简单便捷,不要为了输出一句sql语句还要写一行代码,这样很容易打断我的思路。

  所以我对Medoo的每一个query方法都增加了一个对应调试方法,就是在方法名前增加一个“_”,比如最常见的select方法:

1
2
3
4
5
6
7
8
9
$database = new medoo("my_database");
  
$database->_select("account", [
    "user_name",
    "email"
], [
    "user_id[<]" => 20
]);
// SELECT user_name, email FROM account WHERE user_id < 20

  同样其它的insert、update、delete、replace、get、has、count、max、min、avg、sum方法也都可以用这样方式快速输出sql语句。

  当然我新增的这种调试方式,也不会影响Medoo原有的两种调试方式。

  下面就是修改版源码了,基于Medoo 0.9.1.1修改

  

posted @   胡尐睿丶  阅读(8949)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示