承接 strukt/pkg-db 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

strukt/pkg-db

Composer 安装命令:

composer require strukt/pkg-db

包简介

Database

README 文档

README

Finders

$user = db("user", $id); // find user by id

Pop Db

$user = db("user")->findOne(["username"=>$username]); // find user by username

Red Db

$user = db()->findOne("user", "username = ?", [$username]); // find user by username
$user = db()->findOne("user", "username = :username", ["username"=>$username]);   
$user = db()->findLast("user");// find last user
$sql = "SELECT * FROM user u WHERE u.email LIKE :email";
$rs = db()->getAll($sql, filter(["email"], "gmail.com", false)); // find all gmail users
$rs = db()->findAll("user"); // find all users
$rs = sync($rs); // sync bean to model

Commit

$user_id = commit("user", ["usename"=>"pitsolu","password"=>hashfn()("p@55w0rd")]);// add
$success = commit("user", ["password"=>hashfn()("*p@55w0rd$")], $user_id); // update

Transaction

pdo()->transact(function(){

	$role = db("role");
	$role->name = "superadmin";
	$role->save();

	$user = db("user");
	$user->username = "sadmin@tenure.com";
	$user->password = hash("sha256")("p@55w0rd!!");
	$user->role_id = "abc"; //invalid entry expect a number
	$user->save();
});

Commands

Database
 model:make      Make model
 db:make-models  Make models from db
 db:make         Make db from models
 db:seeds        Seed database tables iwth JSON set (folder)
 db:wipe         Truncate database
 db:sql          Truncate database

Resultset

$sql = select("u.id, u.username, r.name as role_name, r.created_at")
        ->from("user u")
        ->leftjoin("role r ON r.id = u.role_id")
        ->where("r.name = :role_name")
        ->orderBy("p.name", order:"ASC");

$rs = resultset($sql, ["role_name"=>"admin"])
        ->normalize("created_at:humanize")
        ->yield(); // list of admins

SQL

├── modify(string $table)
│   ├── addSet(string $modify)
│   ├── set(string $modify)
│   │   ├── andWhere(string $condition)
│   │   ├── orWhere(string $condition)
│   │   ├── where(string $condition)
│   │   └── yield():string
│   └── yield():string
└── select(string $fields)
    ├── addSelect(string $fields)
    ├── from(string $tables)
    │   └── leftjoin(string $join)
    ├── groupBy(string $columns)
    ├── limit(int $limit)
    ├── orderBy(string $columns, string $order = "DESC")
    ├── page(int $page, int $perPage=10)
    ├── union(string $sql)
    ├── unionAll(string $sql)
    └── where(string $condition)
        ├── andWhere(string $condition)
        └── orWhere(string $condition)

strukt/pkg-db 适用场景与选型建议

strukt/pkg-db 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 296 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 11 月 08 日, 在 PHP 生态内属于活跃度较高的组件。

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

围绕 strukt/pkg-db 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-11-08