javanile / hamper
适用于vtiger的开发者友好型数据库库
Requires
- php: ^7.0
Requires (Dev)
README
适用于vtiger的开发者友好型数据库库。Hamper可以提高您在数据库访问和操作方面的代码质量和可读性。
为什么使用它?
以下是使用它的几个有力理由
- 避免使用旧式循环遍历结果。
- 默认使用关联数组作为字段。
安装
您可以通过composer安装此软件包
composer require javanile/hamper
用法
您只需获取$hdb
对象即可访问数据库
require_once 'vendor/autoload.php'; use Javanile\Hamper\Hamper; $hdb = Hamper::getInstance();
📃 文档
😎 文档列出了您可以使用的所有函数,使代码简单易读。
您对数据库内部数据的访问基于返回array
的提取方法,您可以使用foreach
轻松操作。请妥善使用这些函数,因为它们允许您获取单个记录或记录列表或某一列的所有值。在开始使用之前,请仔细阅读函数列表,您将根据上下文自动使用最佳函数。对于每个函数,还展示了“😿 Legacy”
,即旧式Vtiger代码的版本,您可以使用Hamper函数替换它,比较它们,您将意识到Hamper如何提高您的工作效率。
所有函数
以下方法用于在数据库中操作记录
- 执行查询 -
$hdb->query(...)
- 获取单个记录 -
$hdb->fetch(...)
- 获取记录列表 -
$hdb->fetchAll(...)
- 从记录中获取值 -
$hdb->fetchValue(...)
- 通过键列获取值 -
$hdb->value(...)
- 检查记录是否存在 -
$hdb->exists(...)
- 插入记录 -
$hdb->insert(...)
- 获取最后一个ID -
$hdb->lastInsertId(...)
- 更新单个记录 -
$hdb->update(...)
- 删除单个记录 -
$hdb->delete(...)
以下方法用于操作数据库表和字段
- 创建新表 -
$hdb->create(...)
执行查询
执行给定的参数化查询
用法
$hdb->query($sql, $params = [], $options = [])
示例
此方法适用于以下情况
// Execute simple query $hdb->query("SET NAMES utf8");
// Execute prepare query $hdb->query("UPDATE vtiger_users SET language = ? WHERE user_name = ?", ["en_us", "admin"]);
😿 Legacy
请将此类旧代码替换为$hdb->query(...)
函数
执行查询
通过给定的参数化查询从结果集行中检索下一行。
用法
$hdb->fetch($sql, $params = [], $options = [])
示例
此方法适用于以下情况
// Execute simple query $hdb->query("SET NAMES utf8");
// Execute prepare query $hdb->query("UPDATE vtiger_users SET language = ? WHERE user_name = ?", ["en_us", "admin"]);
😿 Legacy
请将此类旧代码替换为$hdb->fetch(...)
函数
获取记录列表
返回包含给定参数化查询所有结果集行的数组。
用法
query($sql, $params = [], $options = [])
示例
此方法适用于以下情况
// Execute simple query $hdb->query("SET NAMES utf8");
// Execute prepare query $hdb->query("UPDATE vtiger_users SET language = ? WHERE user_name = ?", ["en_us", "admin"]);
😿 Legacy
请将此类旧代码替换为$hdb->fetchAll(...)
函数
从记录中获取值
通过给定的参数化查询从结果集行中检索下一行。
用法
$hdb->fetchValue($sql, $params = [], $options = [])
示例
此方法适用于以下情况
$crmId = $hdb->fetchValue("SELECT crmid FROM vtiger_crmentity WHERE setype=? AND deleted=0", [$module]);
😿 Legacy
请将此类旧代码替换为 $hdb->fetchValue(...)
函数
$adb = \PearDatabase::getInstance(); $result = $adb->pquery("SELECT tabid FROM vtiger_tab WHERE name=?", [$setype]); $tabId = $adb->query_result($result, 0, "tabid");
¶
通过键列获取值
执行查询以检查是否存在具有特定键和值的记录。
用法
query($sql, $params = [], $options = [])
示例
此方法适用于以下情况
// Execute simple query $hdb->query("SET NAMES utf8");
// Execute prepare query $hdb->query("UPDATE vtiger_users SET language = ? WHERE user_name = ?", ["en_us", "admin"]);
😿 Legacy
请将此类旧代码替换为 $hdb->value(...)
函数
¶
检查记录是否存在
执行查询以检查是否存在具有特定键和值的记录。
用法
query($sql, $params = [], $options = [])
示例
此方法适用于以下情况
// Execute simple query $hdb->query("SET NAMES utf8");
// Execute prepare query $hdb->query("UPDATE vtiger_users SET language = ? WHERE user_name = ?", ["en_us", "admin"]);
😿 Legacy
请将此类旧代码替换为 $hdb->exists(...)
函数
¶
插入记录
在所选表中插入给定的记录。
用法
query($sql, $params = [], $options = [])
示例
此方法适用于以下情况
// Execute simple query $hdb->query("SET NAMES utf8");
// Execute prepare query $hdb->query("UPDATE vtiger_users SET language = ? WHERE user_name = ?", ["en_us", "admin"]);
😿 Legacy
请将此类旧代码替换为 $hdb->insert(...)
函数
¶
获取最后ID
返回所选表的最后插入ID值。
用法
query($sql, $params = [], $options = [])
示例
此方法适用于以下情况
// Execute simple query $hdb->query("SET NAMES utf8");
// Execute prepare query $hdb->query("UPDATE vtiger_users SET language = ? WHERE user_name = ?", ["en_us", "admin"]);
😿 Legacy
请将此类旧代码替换为 $hdb->lastInsertId(...)
函数
¶
更新单个记录
使用给定的数据更新给定的记录。
用法
query($sql, $params = [], $options = [])
示例
此方法适用于以下情况
// Execute simple query $hdb->query("SET NAMES utf8");
// Execute prepare query $hdb->query("UPDATE vtiger_users SET language = ? WHERE user_name = ?", ["en_us", "admin"]);
😿 Legacy
请将此类旧代码替换为 $hdb->update(...)
函数
¶
删除单个记录
在给定的表中删除给定的记录。
用法
query($sql, $params = [], $options = [])
示例
此方法适用于以下情况
// Execute simple query $hdb->query("SET NAMES utf8");
// Execute prepare query $hdb->query("UPDATE vtiger_users SET language = ? WHERE user_name = ?", ["en_us", "admin"]);
😿 Legacy
请将此类旧代码替换为 $hdb->delete(...)
函数
¶
创建新表
用法
query($sql, $params = [], $options = [])
示例
此方法适用于以下情况
😿 Legacy
请将此类旧代码替换为 $hdb->create(...)
函数
变更日志
有关最近更改的更多信息,请参阅 变更日志。
测试
$ make install
$ make tdd take=tests/HamperDatabaseTest.php
贡献
有关详细信息,请参阅 贡献指南。
安全
如果您发现任何与安全相关的问题,请发送电子邮件至 bianco@javanile.org,而不是使用问题跟踪器。
社交软件
如果您在Twitter上创建包含以下按钮的社交帖子,我们将非常感激。
致谢
此项目得以存在,归功于所有贡献者。
支持我们
Javanile 是一家位于意大利西西里岛的项目机构,您可以在我们的网站上找到所有项目的概述 这里。
您的业务是否依赖于我们的贡献?在 Patreon 上联系我们。
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。