hutcms / hutphp
dev-master
2022-04-27 04:57 UTC
Requires
- php: >=8.1.0
- ext-curl: *
- ext-gd: *
- ext-iconv: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- firebase/php-jwt: ^5.4
- topthink/framework: ^6.0
- topthink/think-captcha: ^3.0
- topthink/think-multi-app: ^1.0
This package is auto-updated.
Last update: 2022-04-27 05:04:20 UTC
README
ThinkPHP V6.0 Development Library
基于 Anyon / ThinkLibrary 精简改造
控制器
<?php class Controller extend \hutphp\Controller{ } ?>
模板
$this->fetch($templage,$vars) $this->assign($name,$value); $this->assign(['name1'=>'val1','name2'=>'val2']);
查询
$this->query('tableName')->where("id",'1')->select(); $this->query('tableName')->page_fetch(); $this->query('tableName')->like('table_filed_id#param_id,name#name') $this->query('tableName')->equal('table_filed_id#param_id,name#name'); $this->query('tableName')->list('order','page','limit'); $this->query('tableName')->equal('table_filed_id#param_id'); $this->query('tableName')->valueBetween('id#param_id'); $this->query('tableName')->dateBetween('datetime#param_datetime'); $this->query('tableName')->timeBetween('newstime#param_newstime');
表单
$this->_vali(); // 表单显示及数据更新 $this->_form($query, $template, $pk , $where, $data); //表单回调 [_ACTION]_form_filter(array &$data) [_ACTION]_form_result(bool $result, array $data) // 数据删除处理 $this->_deleted($query); // 数据禁用处理 $this->_save($query, ['status'=>'0']); // 数据启用处理 $this->_save($query, ['status'=>'1']);
文件
文件存储支持本地服务器存储,七牛云存储管理,阿里云OSS存储,腾讯云COS存储。
- 文件存储默认使用文件
hash
命名,同一个文件只会存储一份;- 支持文件秒传,当文件已经上传到服务之后,再次上传同一个文件时将立即成功;
- 支持以日期+随机的方式命名,注意此方法不支持秒传功能;
- 所有文件上传之后,将统一返回
url
可访问的链接地址,直接存储到内容即可访问;- 更多文件规则可以在系统后台文件管理处配置参数,不同的存储方式配置不同的参数;
use hutphp\Storage; $content = '文件内容'; $filename = '文件名称(支持路径)'; $location = '文件远程链接,如:https://www.baidu.com/favicon.ico'; $result = Storage::instance()->set($filename, $content); // 上传文件 $result = Storage::instance()->get($filename); // 读取文件 $result = Storage::instance()->del($filename); // 删除文件 $result = Storage::instance()->has($filename); // 判断是否存在 $result = Storage::instance()->url($filename); // 生成文件链接 $result = Storage::instance()->info($filename); // 获取文件参数 $result = Storage::instance()->down($location); // 下载远程文件到本地
关于参数safe
为存储文件到安全目录,不允许直接使用url
访问,主要用于上传一些私有文件。
当然也可以指定存储引擎操作文件:
// 本地服务器文件操作 use hutphp\storage\LocalStorage; $result = LocalStorage::instance()->set($filename, $content, $safe); // 上传文件 $result = LocalStorage::instance()->get($filename, $safe); // 读取文件 $result = LocalStorage::instance()->del($filename, $safe); // 删除文件 $result = LocalStorage::instance()->has($filename, $safe); // 判断是否存在 $result = LocalStorage::instance()->url($filename, $safe); // 生成文件链接 $result = LocalStorage::instance()->info($filename, $safe); // 获取文件参数 $result = LocalStorage::instance()->down($url); // 下载远程文件到本地 // 阿里云 OSS 存储 use hutphp\storage\AliossStorage; $result = AliossStorage::instance()->set($filename, $content); // 上传文件 $result = AliossStorage::instance()->get($filename); // 读取文件 $result = AliossStorage::instance()->del($filename); // 删除文件 $result = AliossStorage::instance()->has($filename); // 判断是否存在 $result = AliossStorage::instance()->url($filename); // 生成文件链接 $result = AliossStorage::instance()->info($filename); // 获取文件参数 // 腾讯云 COS 存储 use hutphp\storage\TxcosStorage; $result = TxcosStorage::instance()->set($filename, $content); // 上传文件 $result = TxcosStorage::instance()->get($filename); // 读取文件 $result = TxcosStorage::instance()->del($filename); // 删除文件 $result = TxcosStorage::instance()->has($filename); // 判断是否存在 $result = TxcosStorage::instance()->url($filename); // 生成文件链接 $result = TxcosStorage::instance()->info($filename); // 获取文件参数 // 七牛云存储 use hutphp\storage\QiniuStorage; $result = QiniuStorage::instance()->set($filename, $content); // 上传文件 $result = QiniuStorage::instance()->get($filename); // 读取文件 $result = QiniuStorage::instance()->del($filename); // 删除文件 $result = QiniuStorage::instance()->has($filename); // 判断是否存在 $result = QiniuStorage::instance()->url($filename); // 生成文件链接 $result = QiniuStorage::instance()->info($filename); // 获取文件参数
也可以使用助手函数
storage()->get($filename); //默认配置读取文件 storage('local')->get($filename); //本地存储读取文件 storage('alioss')->get($filename); //本地存储读取文件 storage('txcos')->get($filename); //本地存储读取文件 storage('qiniu')->get($filename); //本地存储读取文件
JWT
use hutphp\extend\JWTHelper //编码 JWTHelper::instance()->encode(array $data,int $exp = 86400);//:string //解码 JWTHelper::instance()->decode($jwtToken);//:object|bool
Table
use hutphp\helper\TableHelper; //初始化表助手 $table=TableHelper::instance()->init('SomeTableName'); //创建表 $table->createTable('id',true); //删除表 $table->removeTable(); //清空表 $table->clearTable(auto_increment: int=1); //优化表 $table->optimizeTable(); //添加字段 $table->addColumn(name,type,length,isnull,defaultval,auto_increment,unsigned,comment,after,charset,order,binary); //删除字段 $table->removeColumn(name); //修改字段 $table->changeColumn(name,new_name ,type,length,isnull,defaultval,auto_increment,unsigned,comment,after,charset,order,binary); //添加索引 $table->addIndex('field'/*or [field1,field2]*/); //删除索引 $table->removeIndex(index_name);