定制 kaylathedev/dbal 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kaylathedev/dbal

Composer 安装命令:

composer require kaylathedev/dbal

包简介

A database abstraction library for PHP.

README 文档

README

Build Status

A PHP library which provides an abstraction layer for data maniuplation.

Looking for examples, documentation, or crave info? Go to the wiki.

To start using this library, have composer require wafflesystems/dal.

Note: Despite the repository name, this is a DBAL (Database Abstraction Layer).

composer require wafflesystems/dal

This library contains a layer of abstraction to start interacting with your database. If you want something more involved or more abstract, I highly recommend you use wafflesystems/model along with this library.

Crash Course

I will assume you are using MySQL with your existing PHP application.

The presidents table must have the columns, id, first_name, last_name, born, and died.

Import the DAL\MySQLDatabase, and construct a new MySQLDatabase.

use DAL\MySQLDatabase;

$db = new MySQLDatabase();

Set the hostname, username, and password.

$db->setHost('localhost');
$db->setUsername('admin');
$db->setPassword('secretPA$$w0rd');

Create

Gather your data into an array, and create a new entry.

$entry = [
    'id' => 1,
    'first_name' => 'George',
    'last_name' => 'Washington',
    'birth_date' => '2/22/1732',
    'death_date' => ''
]
$db->create('presidents', $entry);

Read

Use find to find only 1 entry.

We'll be using the condition class to tell the database which entry we'll use.

use DAL\Condition;

$result = $db->find(Condition::equals('birth_date', '2/22/1732'));
echo $result['last_name'];

Use findAll to find multiple entries.

$results = $db->findAll(Condition::equals('first_name', 'George'));
foreach ($results as $result) {
    echo $result['birth_date'];
    echo "\n";
}

Update

Put the data into a new array to overwrite the database.

$entry = [
    'death_date' => '12/14/1799'
]
$db->update('presidents', $entry, Condition::equals('id', 1));

Delete

This will delete all entries that matches the condition.

$db->delete('presidents', Condition::equals('id', 1));

BE CAREFUL! If the condition is null, or not given, then ALL entries will be deleted!

$db->delete('presidents'); // Will DELETE EVERY PRESIDENT!

kaylathedev/dbal 适用场景与选型建议

kaylathedev/dbal 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 18 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 09 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「database」 「php」 「abstraction」 「pdo」 「layer」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 kaylathedev/dbal 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 kaylathedev/dbal 我们能提供哪些服务?
定制开发 / 二次开发

基于 kaylathedev/dbal 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 18
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-09-06