loilo/storage-paths

获取操作系统特定的路径以存储您的项目配置、缓存、日志等。

1.0.3 2019-07-15 15:45 UTC

This package is auto-updated.

Last update: 2024-09-24 07:30:43 UTC


README

Storage Paths logo: a file cabinet with an open drawer which contains printed document

存储路径

Tests Version on packagist.org

此包提供操作系统特定的路径,用于存储您的项目配置、缓存、日志等。虽然API已经针对PHP进行调整,但研究和有见地的回退来源于Sindre Sorhus的Node.js env-paths 包。

安装

composer require loilo/storage-paths

用法

macOS示例

use Loilo\StoragePaths\StoragePaths;

$paths = StoragePaths::for('MyApp');

$paths->data()   === '/Users/loilo/Library/Application Support/MyApp-php';
$paths->config() === '/Users/loilo/Library/Preferences/MyApp-php';
$paths->cache()  === '/Users/loilo/Library/Caches/MyApp-php';
$paths->log()    === '/Users/loilo/Library/Logs/MyApp-php';
$paths->temp()   === '/var/folders/qh/z_hny67s57sfm_sxy1zynnkr0000gn/T/MyApp-php';

API

签名

StoragePaths::for(string $name, array $options): StoragePathsInterface;
  • $name — 您项目的名称。用于生成路径,因此它需要是一个有效的文件名。

  • $options — 一个(可选的)选项关联数组

    • $options['suffix']

      类型: string

      默认值: 'php'

      追加到项目名称的后缀字符串,以避免与本地应用程序命名冲突。

    • $options['os']

      类型: string

      默认值: PHP_OS_FAMILY

      覆盖操作系统以生成路径。值对应于PHP_OS_FAMILY 常量。

注意: 调用 StoragePaths::for() 仅生成路径字符串。它不会为您创建目录。

结果

返回的StoragePathsInterface 提供以下存储方法的访问权限

  • data() — 数据文件的目录
  • config() — 配置文件的目录
  • cache() — 非关键数据文件的目录
  • log() — 日志文件的目录
  • temp() — 临时文件的目录