定制 celtak/dog-database 二次开发

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

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

celtak/dog-database

Composer 安装命令:

composer require celtak/dog-database

包简介

A class that allows to use a MySQL database and make calls to this database not through queries but through methods

README 文档

README

Composer install

composer require celtak/dog-database

Documentation

Prerequisites

require __DIR__ . DIRECTORY_SEPARATOR . 'vendor/autoload.php';

use Celtak\DogDatabase;

Connect to the database

How to connect to the database?

$database = new DogDatabase([
    'host' => 'localhost:8889',
    'dbname' => 'azurWeb',
    'username' => 'root',
    'password' => 'root'
], true);

The second parameter is a boolean that allows to display or not the errors.

A table ("users") in a database

To understand how it works, we will use a table.

Table: users

first name old
Mélanie Rodrigues 24
Anthony Jones 40
Audrey Jones 24

Work on a table

$database->setTable('users');

Create

How to insert new data?

// Insert new data

$database->insert([
    ['first', 'Henrique'],
    ['name', 'Rodrigues'],
    ['old', 33],
]);

What is the result?

id first name old
1 Melanie Rodrigues 24
2 Anthony Jones 40
3 Audrey Jones 24
4 Henrique Rodrigues 33

Read

getAll()

Read the whole database.

$read = $database->getAll();

// All the contents of the database
dump($read);

Use filters (where, order by and limit).

Example 1

$read = $database->getAll([
    'where' => ['name', 'Rodrigues'],
    'orderBy' => 'old',
]);

// Just "Melanie Rodrigues" and "Henrique Rodrigues"
dump($read);

Example 2

$read = $database->getAll([
     'limit' => [1, 3]
]);

// Just "Melanie Rodrigues", "Anthony Jones" and "Audrey Jones"
dump($read);

getFiels()

Get some fields.

$read = $database->getFields(['name', 'first']);

// We just get the "name" and "first" fields of only "Anthony Jones" and "Audrey Jones"
dump($read);

With filters.

$read = $database->getFields(['name', 'first'], [
    'where' => ['name', 'Jones']
]);

// We just get the "name" and "first" fields from all the database
dump($read);

getId()

Get by id.

$read = $database->getId(3);

// We get the data related to id 3, "Audrey Jones"
dump($read);

Update

update()

Using the required "where" filter.

// Modify the first name Henrique by Rik

$database->update(
      [
          ['first', 'Rik']
      ],
      [
          'where' => ['first', 'Henrique'],
      ]
  );

updateId()

Using the id.

// Modify the first name by John and the name by Taylor from id 3

$database->updateId(3,
    [
        ['first', 'John'],
        ['name', 'Taylor'],
    ]);

Delete

delete()

Using the required "where" filter.

// Delete all data from id 2

$database->delete([
    'where' => ['id', '2']
]);

deleteId()

// Delete all data from id 1

$database->deleteId(1);

Custom query

To read.

dump($database->getCustomizedQuery('SELECT * FROM users WHERE id = "10"'));

To write.

$database->customizedExec('INSERT INTO utilisateurs (name, first, old) VALUES ("Henrique", "Rodrigues", "33")');

License

MIT.

celtak/dog-database 适用场景与选型建议

celtak/dog-database 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5 次下载、GitHub Stars 达 1, 最近一次更新时间为 2019 年 03 月 29 日, 在 PHP 生态内属于活跃度较高的组件。

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

围绕 celtak/dog-database 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-03-29