1 Unstar Star 1 Fork 19

chichu / ThinkLibrary

forked from Anyon / ThinkLibrary 
Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
readme.md

Latest Stable Version Latest Unstable Version Total Downloads License

ThinkLibrary for ThinkPHP5.1

ThinkLibrary 是针对 ThinkPHP5.1 版本封装的一套工具类库,方便快速构建 WEB 应用。

主要包含内容

  • 数据列表展示(可带高级搜索器)
  • FORM表单处理器(表单展示及数据入库)
  • 数据状态快速处理(数据指定字段更新,支持多字段同时)
  • 数据安全删除处理(硬删除 + 软删除,is_deleted 字段存在则自动软删除)
  • 文件存储通用组件(本地服务存储 + 阿里云OSS存储 + 七牛云存储)
  • 通用数据保存更新(通过 key 值及 where 判定是否存在,存在则更新,不存在则新增)
  • 通用网络请求 (支持 get 及 post,可配置请求证书等)
  • emoji 表情转义处理(部分数据库不支持保存 Emoji 表情,可用这个方法哦)
  • 系统参数通用 k-v 配置(快速参数长久化配置)
  • UTF8加密算法支持(安全URL参数传参数)
  • 接口 CORS 跨域默认支持(输出 JSON 标准化)
  • 更新功能等待您来发现哦....

参考项目

使用说明

  • ThinkLibrary 需要Composer支持
  • 安装命令 composer require zoujingli/think-library
  • 案例代码: 控制器需要继承 library\Controller,然后$this就可能使用全部功能
// 定义 MyController 控制器
class MyController extend \library\Controller{

    // 指定当前数据表名
    protected $dbQuery = '数据表名';
    
    // 显示数据列表
    public function index(){
        return $this->_page($this->dbQuery);
    }
    
    // 当前列表数据处理
    protected function _index_page_filter(&$data){
         foreach($data as &$vo){
            // @todo 修改原列表
         }
    }
    
}
  • 必要数据库表SQL(sysconf 函数需要用到这个表)
CREATE TABLE `system_config` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) DEFAULT NULL COMMENT '配置名',
  `value` varchar(500) DEFAULT NULL COMMENT '配置值',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `index_system_config_name` (`name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统配置';

列表处理

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

// 列表展示搜索器(按 name、title 模糊搜索;按 status 精确搜索)
$query = $this->_query($dbQuery)->like('name,title')->equal('status');
return $this->_page($query->db(), $isPage, $isDisplay, $total);

表单处理

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

删除处理

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

禁用启用处理

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

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


// 配置默认存储方式    
sysconf('storage_type','文件存储类型');

// OSS存储配置
sysconf('storage_oss_domain', '文件访问域名');
sysconf('storage_oss_keyid', '接口授权AppId');
sysconf('storage_oss_secret', '接口授权AppSecret');
sysconf('storage_oss_bucket', '文件存储空间名称');
sysconf('storage_oss_is_https', '文件HTTP访问协议');
sysconf('storage_oss_endpoint', '文件存储节点域名');

// 七牛云存储配置
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 = \\library\File::name($url,$ext,$prv,$fun);

// 获取文件内容(自动存储方式)
$result = \\library\File::get($filename)

// 保存内容到文件(自动存储方式)
boolean \library\File::save($filename,$content);

// 判断文件是否存在
boolean \library\File::has($filename);

// 获取文件信息
$result = \\library\File::info($filename);

//指定存储类型(调用方法)
boolean \library\File::instance('oss')->save($filename,$content);
boolean \library\File::instance('local')->save($filename,$content);
boolean \library\File::instance('qiniu')->save($filename,$content);

$result = \\library\File::instance('oss')->get($filename);
$result = \\library\File::instance('local')->get($filename);
$result = \\library\File::instance('qiniu')->get($filename);

boolean \library\File::instance('oss')->has($filename);
boolean \library\File::instance('local')->has($filename);
boolean \library\File::instance('qiniu')->has($filename);

$resutl = \\library\File::instance('oss')->info($filename);
$resutl = \\library\File::instance('local')->info($filename);
$resutl = \\library\File::instance('qiniu')->info($filename);

通用数据保存

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

通用网络请求

// 发起get请求
$result = http_get($url,$query,$options);
\library\tools\Http::get($url,$query,$options);

// 发起post请求
$result = http_post($url,$data,$options);
\library\tools\Http::post($url,$data,$options);

emoji 表情转义(部分数据库不支持可以用这个)

// 输入数据库前转义
$content = emoji_encode($content);

// 输出数据库后转义
$content = emoji_decode($content); 

系统参数配置(基于 system_config 数据表)

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

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

UTF8加密算法

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

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

Comments ( 0 )

Sign in for post a comment

About

ThinkLibrary 是针对 ThinkPHP5.1 版本封装的一套工具类库,方便快速构建WEB应用 spread retract
PHP
Cancel

Releases

No release

Contributors

All

Activities

load more
can not load any more
PHP
1
https://gitee.com/chichu/ThinkLibrary.git
git@gitee.com:chichu/ThinkLibrary.git
chichu
ThinkLibrary
ThinkLibrary
master

Search

132457 8cb2edc1 1899542 131848 70c8d3a4 1899542