PHPackages                             yinluobing/think-library - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. yinluobing/think-library

ActiveLibrary

yinluobing/think-library
========================

ThinkPHP v6 Development Library

v6.1.5(3y ago)06MITPHPPHP ^7.1|^8.0

Since Dec 30Pushed 3y agoCompare

[ Source](https://github.com/yinluobing/ThinkLibrary)[ Packagist](https://packagist.org/packages/yinluobing/think-library)[ Docs](https://thinkadmin.top)[ RSS](/packages/yinluobing-think-library/feed)WikiDiscussions v6.0 Synced 1mo ago

READMEChangelogDependencies (2)Versions (3)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/0b539166687eb16d811afc64507f666e8c8e51e99d178a43f1c78adedd2e1ccb/68747470733a2f2f706f7365722e707567782e6f72672f7a6f756a696e676c692f7468696e6b2d6c6962726172792f762f737461626c65)](https://packagist.org/packages/zoujingli/think-library) [![Total Downloads](https://camo.githubusercontent.com/89acbd8450caf0457e4a67381ea2692a394c4ce7ecf51291d9d11a7d573ddc84/68747470733a2f2f706f7365722e707567782e6f72672f7a6f756a696e676c692f7468696e6b2d6c6962726172792f646f776e6c6f616473)](https://packagist.org/packages/zoujingli/think-library) [![Latest Unstable Version](https://camo.githubusercontent.com/41251f2628797f9d613765c4aeb5dc7f109a6626dbfb48f23a2a2d3d87e64148/68747470733a2f2f706f7365722e707567782e6f72672f7a6f756a696e676c692f7468696e6b2d6c6962726172792f762f756e737461626c65)](https://packagist.org/packages/zoujingli/think-library) [![License](https://camo.githubusercontent.com/14a05de4bf96244cb5f3e43ce70a9ef570a09fa6918f18af20d8afb756c3ce68/68747470733a2f2f706f7365722e707567782e6f72672f7a6f756a696e676c692f7468696e6b2d6c6962726172792f6c6963656e7365)](https://packagist.org/packages/zoujingli/think-library)

> 常用 Gitee 仓库地址：

ThinkLibrary 6 for ThinkPHP 6
-----------------------------

[](#thinklibrary-6-for-thinkphp-6)

ThinkLibrary 6 是针对 ThinkPHP 6 版本封装的一套工具类库，方便快速构建 Web 应用。

包含组件
----

[](#包含组件)

- 数据列表展示（可带高级搜索器）
- FORM表单处理器（表单展示及数据入库）
- 数据状态快速处理（数据指定字段更新，支持多字段同时）
- 数据安全删除处理（硬删除 + 软删除，is\_deleted 或 deleted 字段存在则自动软删除）
- 文件存储通用组件（本地服务存储 + 又拍云存储 + 七牛云存储 + 又拍云USS存储 + 阿里云OSS存储 + 腾讯云COS存储）
- 通用数据保存更新（通过 key 值及 where 判定是否存在，存在则更新，不存在则新增）
- 通用网络请求 （支持 get 及 post，可配置请求证书等）
- 系统参数通用 g-k-v 配置（快速参数长久化配置）
- UTF8加密算法支持（安全URL参数传参数）
- 接口 CORS 跨域默认支持（输出 JSON 标准化）
- 支持表单CSRF安全验证（自动化 FORM 标签替换）
- 更新功能等待您来发现哦....

参考项目
----

[](#参考项目)

#### ThinkAdmin - V6.0

[](#thinkadmin---v60)

- Gitee 仓库
- Github 仓库
- 体验地址（账号密码都是admin）

代码仓库
----

[](#代码仓库)

ThinkLibrary 为 MIT 协议开源项目，安装使用或二次开发不受约束，欢迎 fork 项目。

部分代码来自互联网，若有异议可以联系作者进行删除。

- 在线体验地址： （账号和密码都是 admin ）
- Gitee 仓库地址：
- Github 仓库地址：

使用说明
----

[](#使用说明)

- ThinkLibrary 需要 Composer 支持
- 安装命令 ` composer require zoujingli/think-library 6.0.x-dev`
- 案例代码： 控制器需要继承 `think\admin\Controller`，然后`$this`就可能使用全部功能

```
// 定义 MyController 控制器
class MyController extend \think\admin\Controller {

    // 指定当前数据表名
    protected $dbQuery = '数据表名';

    // 显示数据列表
    public function index(){
        $this->_page($this->dbQuery);
    }

    // 当前列表数据处理
    protected function _index_page_filter(&$data){
         foreach($data as &$vo){
            // @todo 修改原列表
         }
    }

}
```

- 必要数据库表SQL（sysdata 函数需要用这个表）

```
CREATE TABLE `system_data`
(
    `id`    bigint(11) unsigned NOT NULL AUTO_INCREMENT,
    `name`  varchar(100) DEFAULT NULL COMMENT '配置名',
    `value` longtext COMMENT '配置值',
    PRIMARY KEY (`id`) USING BTREE,
    KEY     `idx_system_data_name` (`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统-数据';
```

- 必要数据库表SQl（sysoplog 函数需要用的这个表）

```
CREATE TABLE `system_oplog`
(
    `id`        bigint(20) unsigned NOT NULL AUTO_INCREMENT,
    `node`      varchar(200)  NOT NULL DEFAULT '' COMMENT '当前操作节点',
    `geoip`     varchar(15)   NOT NULL DEFAULT '' COMMENT '操作者IP地址',
    `action`    varchar(200)  NOT NULL DEFAULT '' COMMENT '操作行为名称',
    `content`   varchar(1024) NOT NULL DEFAULT '' COMMENT '操作内容描述',
    `username`  varchar(50)   NOT NULL DEFAULT '' COMMENT '操作人用户名',
    `create_at` timestamp     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统-日志';
```

- 必要数据库表SQL（sysconf 函数需要用到这个表）

```
CREATE TABLE `system_config`
(
    `type`  varchar(20)  DEFAULT '' COMMENT '分类',
    `name`  varchar(100) DEFAULT '' COMMENT '配置名',
    `value` varchar(500) DEFAULT '' COMMENT '配置值',
    KEY     `idx_system_config_type` (`type`),
    KEY     `idx_system_config_name` (`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统-配置';
```

- 系统任务列队支持需要的数据表

```
CREATE TABLE `system_queue` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `code` varchar(20) DEFAULT '' COMMENT '任务编号',
  `title` varchar(50) NOT NULL DEFAULT '' COMMENT '任务名称',
  `command` varchar(500) DEFAULT '' COMMENT '执行指令',
  `exec_data` longtext COMMENT '执行参数',
  `exec_time` bigint(20) unsigned DEFAULT '0' COMMENT '执行时间',
  `exec_desc` varchar(500) DEFAULT '' COMMENT '状态描述',
  `enter_time` bigint(20) DEFAULT '0' COMMENT '开始时间',
  `outer_time` bigint(20) DEFAULT '0' COMMENT '结束时间',
  `attempts` bigint(20) DEFAULT '0' COMMENT '执行次数',
  `rscript` tinyint(1) DEFAULT '1' COMMENT '单例模式',
  `status` tinyint(1) DEFAULT '1' COMMENT '任务状态(1新任务,2处理中,3成功,4失败)',
  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_system_queue_code` (`code`),
  KEY `idx_system_queue_title` (`title`) USING BTREE,
  KEY `idx_system_queue_status` (`status`) USING BTREE,
  KEY `idx_system_queue_rscript` (`rscript`) USING BTREE,
  KEY `idx_system_queue_create_at` (`create_at`) USING BTREE,
  KEY `idx_system_queue_exec_time` (`exec_time`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统-任务';
```

#### 列表处理

[](#列表处理)

```
// 列表展示
$this->_page($dbQuery, $isPage, $isDisplay, $total);

// 列表展示搜索器（按 name、title 模糊搜索；按 status 精确搜索）
$this->_query($dbQuery)->like('name,title')->equal('status')->page();

// 对列表查询器进行二次处理
$query = $this->_query($dbQuery)->like('name, title')->equal('status');
$db = $query->db(); // @todo 这里可以对db进行操作
$this->_page($db); // 显示列表分页
```

#### 表单处理

[](#表单处理)

```
// 表单显示及数据更新
$this->_form($dbQuery, $tplFile, $pkField , $where, $data);
```

#### 删除处理

[](#删除处理)

```
// 数据删除处理
$this->_deleted($dbQuery);
```

#### 禁用启用处理

[](#禁用启用处理)

```
// 数据禁用处理
$this->_save($dbQuery, ['status'=>'0']);

// 数据启用处理
$this->_save($dbQuery, ['status'=>'1']);
```

#### 文件存储组件（ oss 及 qiniu 需要配置参数）

[](#文件存储组件-oss-及-qiniu-需要配置参数)

```
// 配置默认存储方式
sysconf('storage.type','文件存储类型');

// 七牛云存储配置
sysconf('storage.qiniu_region', '文件存储节点');
sysconf('storage.qiniu_domain', '文件访问域名');
sysconf('storage.qiniu_bucket', '文件存储空间名称');
sysconf('storage.qiniu_is_https', '文件HTTP访问协议');
sysconf('storage.qiniu_access_key', '接口授权AccessKey');
sysconf('storage.qiniu_secret_key', '接口授权SecretKey');

// 生成文件名称(链接url或文件md5)
$filename = \think\admin\Storage::name($url, $ext, $prv, $fun);

// 获取文件内容（自动存储方式）
$result = \think\admin\Storage::get($filename);

// 保存内容到文件（自动存储方式）
$result = \think\admin\Storage::save($filename, $content);

// 判断文件是否存在
boolean \think\admin\Storage::has($filename);

// 获取文件信息
$result = \think\admin\Storage::info($filename);

//指定存储类型（调用方法）
$result = \think\admin\Storage::instance('local')->save($filename, $content);
$result = \think\admin\Storage::instance('qiniu')->save($filename, $content);
$result = \think\admin\Storage::instance('txcos')->save($filename, $content);
$result = \think\admin\Storage::instance('upyun')->save($filename, $content);
$result = \think\admin\Storage::instance('alioss')->save($filename, $content);

// 读取文件内容
$result = \think\admin\Storage::instance('local')->get($filename);
$result = \think\admin\Storage::instance('qiniu')->get($filename);
$result = \think\admin\Storage::instance('txcos')->get($filename);
$result = \think\admin\Storage::instance('upyun')->get($filename);
$result = \think\admin\Storage::instance('alioss')->get($filename);

// 生成 URL 访问地址
$result = \think\admin\Storage::instance('local')->url($filename);
$result = \think\admin\Storage::instance('qiniu')->url($filename);
$result = \think\admin\Storage::instance('txcos')->url($filename);
$result = \think\admin\Storage::instance('upyun')->url($filename);
$result = \think\admin\Storage::instance('alioss')->url($filename);

// 检查文件是否存在
boolean \think\admin\Storage::instance('local')->has($filename);
boolean \think\admin\Storage::instance('qiniu')->has($filename);
boolean \think\admin\Storage::instance('txcos')->has($filename);
boolean \think\admin\Storage::instance('upyun')->has($filename);
boolean \think\admin\Storage::instance('alioss')->has($filename);

// 生成文件信息
$resutl = \think\admin\Storage::instance('local')->info($filename);
$resutl = \think\admin\Storage::instance('qiniu')->info($filename);
$resutl = \think\admin\Storage::instance('txcos')->info($filename);
$resutl = \think\admin\Storage::instance('upyun')->info($filename);
$resutl = \think\admin\Storage::instance('alioss')->info($filename);
```

#### 通用数据保存

[](#通用数据保存)

```
// 指定关键列更新（$where 为扩展条件）
boolean data_save($dbQuery, $data, 'pkname', $where);
```

#### 通用网络请求

[](#通用网络请求)

```
// 发起get请求
$result = http_get($url, $query, $options);

// 发起post请求
$result = http_post($url, $data, $options);
```

#### 系统参数配置（基于 system\_config 数据表）

[](#系统参数配置基于-system_config-数据表)

```
// 设置参数
sysconf($keyname, $keyvalue);

// 获取参数
$keyvalue = sysconf($kename);
```

#### UTF8加密算法

[](#utf8加密算法)

```
// 字符串加密操作
$string = encode($content);

// 加密字符串解密
$content = decode($string);
```

赞助打赏，请作者喝杯茶 ~
-------------

[](#赞助打赏请作者喝杯茶-)

[![赞助](https://camo.githubusercontent.com/4258542dbe2f3d891424cb84a2450086710956f51d85ac41bb56957659813c94/68747470733a2f2f7468696e6b61646d696e2e746f702f7374617469632f696d672f7061792e706e67)](https://camo.githubusercontent.com/4258542dbe2f3d891424cb84a2450086710956f51d85ac41bb56957659813c94/68747470733a2f2f7468696e6b61646d696e2e746f702f7374617469632f696d672f7061792e706e67)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 99.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

1225d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/43c4b03420f731567f03c0b0eaf1e13eec4419e483da86af960c9a65d6ea980b?d=identicon)[yinluobing](/maintainers/yinluobing)

---

Top Contributors

[![zoujingli](https://avatars.githubusercontent.com/u/4349951?v=4)](https://github.com/zoujingli "zoujingli (2402 commits)")[![poetryiii](https://avatars.githubusercontent.com/u/30397859?v=4)](https://github.com/poetryiii "poetryiii (2 commits)")[![imzhi](https://avatars.githubusercontent.com/u/2304019?v=4)](https://github.com/imzhi "imzhi (1 commits)")[![smallpurebywu](https://avatars.githubusercontent.com/u/17335206?v=4)](https://github.com/smallpurebywu "smallpurebywu (1 commits)")[![YangYongAn](https://avatars.githubusercontent.com/u/4987317?v=4)](https://github.com/YangYongAn "YangYongAn (1 commits)")

### Embed Badge

![Health badge](/badges/yinluobing-think-library/health.svg)

```
[![Health](https://phpackages.com/badges/yinluobing-think-library/health.svg)](https://phpackages.com/packages/yinluobing-think-library)
```

###  Alternatives

[zoujingli/think-library

Library for ThinkAdmin

8569.8k17](/packages/zoujingli-think-library)[jaguarjack/catchadmin

The CatchAdmin Background management

8962.6k](/packages/jaguarjack-catchadmin)[casbin/think-authz

An authorization library that supports access control models like ACL, RBAC, ABAC for ThinkPHP.

27918.5k6](/packages/casbin-think-authz)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
