S1后台管理开发手册
前言
安装
规范
目录结构
框架
程序执行流程
入口文件
应用模块
依赖注入
控制器架构
逻辑架构
验证架构
模型架构
行为架构
插件架构
服务架构
数据操作
系统常用配置
系统常用常量
系统常用函数
系统扩展函数
第三方扩展函数
模块开发
模板制作
基础操作
本文档使用
零起飞
构建
系统常用函数
本文最后编辑时间:
2025-11-18 11:58:59
热度:
1394
# 公共函数文档 本文档描述了 `app/common.php` 中提供的公共函数。 ## 目录 1. [系统相关函数](#系统相关函数) 2. [数组相关函数](#数组相关函数) 3. [字符串相关函数](#字符串相关函数) 4. [文件相关函数](#文件相关函数) 5. [时间相关函数](#时间相关函数) 6. [调试函数](#调试函数) 7. [其他函数](#其他函数) 8. [API签名函数](#api签名函数) ## 系统相关函数 ### is_login() 检测用户是否登录。 - 返回值: 整数 - 0表示未登录,否则返回当前登录用户的ID。 ### is_org_id() 检测登录用户的组织机构ID。 - 返回值: 整数 - 0表示未登录,否则返回组织机构ID。 ### get_org_id() 获取登录用户的组织机构ID。 - 返回值: 整数 - 0表示未登录,否则返回组织机构ID。 ### get_org_info() 获取组织机构信息。 - 返回值: 包含组织机构信息的数组。 ### data_md5($str, $key = 'lingqifei') 系统非常规MD5加密方法。 - 参数: - `$str`: 要加密的字符串 - `$key`: 加密密钥 (默认: 'lingqifei') - 返回值: 加密后的字符串 ### data_md5_key($str, $key = '') 使用系统加密KEY完成字符串加密。 - 参数: - `$str`: 要加密的字符串或数组 - `$key`: 加密密钥 (可选) - 返回值: 加密后的字符串 ### data_auth_sign($data) 数据签名认证。 - 参数: - `$data`: 要认证的数据数组 - 返回值: 签名字符串 ### is_administrator($sys_user_id = null) 检测当前用户是否为管理员。 - 参数: - `$sys_user_id`: 用户ID (可选) - 返回值: 布尔值 - true表示管理员,false表示非管理员 ### get_sington_object($object_name = '', $class = null) 获取单例对象。 - 参数: - `$object_name`: 对象名称 - `$class`: 类名 - 返回值: 单例对象实例 ### get_addon_class($name = '') 获取插件类的类名。 - 参数: - `$name`: 插件名 - 返回值: 类名字符串 ### get_module_class($moduleName = '', $className = '') 获取模块类。 - 参数: - `$moduleName`: 模块名 - `$className`: 类名 - 返回值: 类实例或false ### get_service_class($module, $service, $throwException = true) 跨模块服务调用函数。 - 参数: - `$module`: 模块名 - `$service`: 服务类名 - `$throwException`: 是否抛出异常 (默认: true) - 返回值: 服务实例或false ### hook($tag = '', $params = []) 钩子。 - 参数: - `$tag`: 钩子标签 - `$params`: 参数数组 ### addons_url($url, $param = array()) 插件显示内容里生成访问插件的url。 - 参数: - `$url`: URL - `$param`: 参数数组 - 返回值: 生成的URL ### addon_ioc($this_class, $name, $layer) 插件对象注入。 - 参数: - `$this_class`: 当前类 - `$name`: 名称 - `$layer`: 层 - 返回值: 注入的对象 ### throw_response_exception($data = [], $type = 'json') 抛出响应异常。 - 参数: - `$data`: 响应数据 - `$type`: 响应类型 (默认: 'json') ### throw_response_error($msg = '', $code = '0') 抛出响应错误。 - 参数: - `$msg`: 错误消息 - `$code`: 错误代码 ### get_access_token() 获取访问token。 - 返回值: 访问token字符串 ### format_bytes($size, $delimiter = '') 格式化字节大小。 - 参数: - `$size`: 字节数 - `$delimiter`: 数字和单位分隔符 - 返回值: 格式化后的带单位的大小字符串 ## 数组相关函数 ### list_to_tree($list, $pk = 'id', $pid = 'pid', $child = '_child', $root = 0) 把返回的数据集转换成Tree。 - 参数: - `$list`: 要转换的数据集 - `$pk`: 主键标记字段 (默认: 'id') - `$pid`: parent标记字段 (默认: 'pid') - `$child`: 子节点字段 (默认: '_child') - `$root`: 根节点ID (默认: 0) - 返回值: 树形结构数组 ### list2select($list, $pId = 0, $level = 0, $pk = 'id', $pidk = 'pid', $name = 'name', $data = []) 把列表数据转为树形下拉。 - 参数: - `$list`: 列表数据 - `$pId`: 父ID (默认: 0) - `$level`: 层级 (默认: 0) - `$pk`: 主键字段 (默认: 'id') - `$pidk`: 父ID字段 (默认: 'pid') - `$name`: 名称字段 (默认: 'name') - `$data`: 数据数组 (内部使用) - 返回值: 下拉选项数组 ### parse_config_attr($string) 分析数组及枚举类型配置值。 - 参数: - `$string`: 配置字符串 (格式: "a:名称1,b:名称2") - 返回值: 解析后的数组 ### parse_config_array($name = '') 解析数组配置。 - 参数: - `$name`: 配置名称 - 返回值: 解析后的数组 ### array_extract($array = [], $key = 'id') 将二维数组按某个键提取出来组成新的索引数组。 - 参数: - `$array`: 源数组 - `$key`: 键名 (默认: 'id') - 返回值: 提取的值数组 ### array_extract_map($array = [], $key = 'id') 根据某个字段获取关联数组。 - 参数: - `$array`: 源数组 - `$key`: 键名 (默认: 'id') - 返回值: 关联数组 ### transform_array($array) 页面数组提交后格式转换。 - 参数: - `$array`: 提交的数组 - 返回值: 转换后的数组 ### transform_array_to_json($array) 页面数组转换后的数组转json。 - 参数: - `$array`: 要转换的数组 - 返回值: JSON字符串 ### relevance_arr_to_index_arr($array) 关联数组转索引数组。 - 参数: - `$array`: 关联数组 - 返回值: 索引数组 ### arr2str($arr, $glue = ',') 数组转换为字符串,主要用于把分隔符调整到第二个参数。 - 参数: - `$arr`: 要连接的数组 - `$glue`: 分割符 (默认: ',') - 返回值: 连接后的字符串 ### arr22str($arr) 数组转字符串二维。 - 参数: - `$arr`: 二维数组 - 返回值: 连接后的字符串 ### get_arr_column($arr, $key_name) 获取数组中的某一列。 - 参数: - `$arr`: 数组 - `$key_name`: 列名 - 返回值: 那一列的数组 ## 字符串相关函数 ### str2arr($str, $glue = ',') 字符串转换为数组,主要用于把分隔符调整到第二个参数。 - 参数: - `$str`: 要分割的字符串 - `$glue`: 分割符 (默认: ',') - 返回值: 分割后的数组 ### sr($str = '', $target = '', $content = '') 字符串替换。 - 参数: - `$str`: 源字符串 - `$target`: 目标子字符串 - `$content`: 替换内容 - 返回值: 替换后的字符串 ### str_prefix($str, $prefix) 字符串前缀验证。 - 参数: - `$str`: 源字符串 - `$prefix`: 前缀 - 返回值: 布尔值 - true表示存在前缀 ## 文件相关函数 ### file_list($path = '') 获取目录下所有文件。 - 参数: - `$path`: 目录路径 - 返回值: 文件数组 ### get_dir($dir_name) 获取目录列表。 - 参数: - `$dir_name`: 目录名 - 返回值: 目录数组 ### get_file_root_path() 获取文件根目录。 - 返回值: 根路径字符串 ### get_picture_url($id = 0, $module = '') 获取图片url=》根据picture id。 - 参数: - `$id`: 图片ID或路径 - `$module`: 模块名 - 返回值: 图片URL ### get_picture_url2($path = '') 获取图片url=>根据地址。 - 参数: - `$path`: 图片路径 - 返回值: 图片URL ### get_file_url($id = 0, $module = '') 获取文件url=>根据 file id。 - 参数: - `$id`: 文件ID或路径 - `$module`: 模块名 - 返回值: 文件URL ### get_picture_body($body = '') 下载内容中图片。 - 参数: - `$body`: 内容主体 - 返回值: 处理后的内容 ### rm_empty_dir($path) 删除所有空目录。 - 参数: - `$path`: 目录路径 - 返回值: 布尔值 - 成功返回true ## 时间相关函数 ### format_time($time = null, $format = 'Y-m-d H:i:s') 时间戳格式化。 - 参数: - `$time`: 时间戳 (默认: 当前时间) - `$format`: 日期格式 (默认: 'Y-m-d H:i:s') - 返回值: 格式化后的时间字符串 ### get_date_range_days($startdate, $enddate) 获取指定日期段内每一天的日期。 - 参数: - `$startdate`: 开始日期 - `$enddate`: 结束日期 - 返回值: 日期数组 ## 调试函数 ### sf($arr = [], $fpath = './test.php') 将数据保存为PHP文件,用于调试。 - 参数: - `$arr`: 数据数组 - `$fpath`: 文件路径 (默认: './test.php') ### d($arr = []) dump函数缩写。 - 参数: - `$arr`: 数据数组 ### dd($arr = []) dump与die组合函数缩写。 - 参数: - `$arr`: 数据数组 ### dlog($var, $file = 'dlog.txt', $label = null, $flags = ENT_SUBSTITUTE) 日志输出保存函数。 - 参数: - `$var`: 要记录的变量 - `$file`: 日志文件名 (默认: 'dlog.txt') - `$label`: 标签 (可选) - `$flags`: 标志 (默认: ENT_SUBSTITUTE) ## 其他函数 ### create_closure($object = null, $method_name = '', $parameter = []) 通过类创建逻辑闭包。 - 参数: - `$object`: 对象实例 - `$method_name`: 方法名 - `$parameter`: 参数数组 - 返回值: 闭包函数 ### auto_cache($key = '', $func = null, $time = 3) 通过闭包控制缓存。 - 参数: - `$key`: 缓存键 - `$func`: 闭包函数 - `$time`: 缓存时间 (默认: 3) - 返回值: 缓存结果 ### closure_list_exe($list = []) 通过闭包列表控制事务。 - 参数: - `$list`: 闭包数组 - 返回值: 布尔值 - 成功返回true ### trans($parameter = [], $callback = null) 自动封装事务。 - 参数: - `$parameter`: 参数数组 - `$callback`: 回调函数 - 返回值: 事务结果 ### update_cache_version($obj = null) 更新缓存版本。 - 参数: - `$obj`: 对象或表名 ## API签名函数 ### decoded_user_token($token = '') 解密user_token。 - 参数: - `$token`: JWT token - 返回值: 解密后的数据数组或错误消息 ### get_member_by_token($token = '') 通过token获取解密信息中的data。 - 参数: - `$token`: JWT token - 返回值: 成员数据 ### sign_field_filter($data = []) 数据验签时数据字段过滤。 - 参数: - `$data`: 数据数组 - 返回值: 过滤后的数据数组 ### create_sign_filter($data = [], $key = '') 过滤后的数据生成数据签名。 - 参数: - `$data`: 数据数组 - `$key`: 签名密钥 - 返回值: 生成的签名 ### encoded_user_token($param) 签名注册。 - 参数: - `$param`: 包含用户数据的参数数组 - 返回值: token数据数组
提供完善五心级服务,满足用户需求,注重用户体验,为客户打造融入个性需求的企业信息化服务解决方案。
Copyright © 2015~2025 07FLY All Rights Reserved