# ZM\Utils\DataProvider ## getResourceFolder ```php public function getResourceFolder(): string ``` ### 描述 返回资源目录 ### 返回 | 类型 | 描述 | | ---- | ----------- | | string | | ## getWorkingDir ```php public function getWorkingDir(): false|string ``` ### 描述 返回工作目录,不带最右边文件夹的斜杠(/) ### 返回 | 类型 | 描述 | | ---- | ----------- | | false|string | | ## getFrameworkRootDir ```php public function getFrameworkRootDir(): false|string ``` ### 描述 获取框架所在根目录 ### 返回 | 类型 | 描述 | | ---- | ----------- | | false|string | | ## getSourceRootDir ```php public function getSourceRootDir(): false|string ``` ### 描述 获取源码根目录,除Phar模式外均与工作目录相同 ### 返回 | 类型 | 描述 | | ---- | ----------- | | false|string | | ## getFrameworkLink ```php public function getFrameworkLink(): null|array|false|mixed ``` ### 描述 获取框架反代链接 ### 返回 | 类型 | 描述 | | ---- | ----------- | | null|array|false|mixed | | ## getDataFolder ```php public function getDataFolder(string $second): null|array|false|mixed|string ``` ### 描述 获取zm_data数据目录,如果二级目录不为空,则自动创建目录并返回 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | second | string | | ### 返回 | 类型 | 描述 | | ---- | ----------- | | null|array|false|mixed|string | | ## saveToJson ```php public function saveToJson(string $filename, array|int|Iterator|JsonSerializable|string|Traversable $file_array): false|int ``` ### 描述 将变量保存在zm_data下的数据目录,传入数组 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | filename | string | 文件名 | | file_array | array|int|Iterator|JsonSerializable|string|Traversable | 文件内容数组 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | false|int | 返回文件大小或false | ## loadFromJson ```php public function loadFromJson(string $filename): null|mixed ``` ### 描述 从json加载变量到内存 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | filename | string | 文件名 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | null|mixed | 返回文件内容数据或null | ## scanDirFiles ```php public function scanDirFiles(string $dir, bool $recursive, bool|string $relative): array|false ``` ### 描述 递归或非递归扫描目录,可返回相对目录的文件列表或绝对目录的文件列表 ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | dir | string | 目录 | | recursive | bool | 是否递归扫描子目录 | | relative | bool|string | 是否返回相对目录,如果为true则返回相对目录,如果为false则返回绝对目录 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | array|false | | ## isRelativePath ```php public function isRelativePath(string $path): bool ``` ### 描述 检查路径是否为相对路径(根据第一个字符是否为"/"来判断) ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | path | string | 路径 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | bool | 返回结果 | ## createIfNotExists ```php public function createIfNotExists(string $path): void ``` ### 描述 创建目录(如果不存在) ### 参数 | 名称 | 类型 | 描述 | | -------- | ---- | ----------- | | path | string | 目录路径 | ### 返回 | 类型 | 描述 | | ---- | ----------- | | void | |