godbout / alfred-workflow-config

轻松管理 Alfred 3 或 4 工作流的设置。

1.8.0 2022-05-06 15:50 UTC

This package is auto-updated.

Last update: 2024-08-29 04:48:59 UTC


README

Latest Stable Version Build Status Quality Score Code Coverage Total Downloads

轻松读取和写入 Alfred 3 或 4 工作流的配置设置。我们为您处理了那些无聊的事情。

安装

composer require godbout/alfred-workflow-config

使用方法

导入类

require 'vendor/autoload.php';

use Godbout\Alfred\Workflow\Config;

然后您可以开始保存设置。使用 点符号 来表示嵌套设置

Config::write('language', 'english');

Config::write('workflow.user.name', 'Guill');

读取设置

$language = Config::read('language');

$userName = Config::read('workflow.user.name');

您可以为工作流提供一个默认配置。如果没有找到配置,它将被保存

Config::ifEmptyStartWith(['version' => 1.0, 'enabled' => true]);

在测试中使用

设置 Alfred 工作流数据环境变量

该包使用 Alfred 设置的环境变量来确定创建和存储数据的位置。如果您不是通过 Alfred 调用的脚本(例如在您的测试中)使用此 Config 类,则您需要设置该环境变量。在使用设置或读取设置之前,使用 putenv("alfred_workflow_data=./where_you_want_to_store_alfred_data");

在测试之间销毁 Config

Config 类是一个单例。这使我能够为您提供一个非常简单且易于使用的 API。当由 Alfred 调用您的 Workflow 脚本时,它效果很好,但在测试中则不然。如果您在自己的测试中使用 Config 类,您必须在每个测试之间销毁单例。您可以轻松地这样做

protected function tearDown(): void
{
    parent::tearDown();

    Config::destroy();
}

这将确保您的下一个测试从一个全新的 Config 开始。

ArrayAccess

没有。我们内部不保留设置数组,因此无法完全实现 ArrayAccess。您可以通过数组符号读取设置,但不能添加新设置,因此整个 ArrayAccess 实现已经被搁置。

幕后

  1. 如果不存在,我们将创建 Alfred 工作流数据 文件夹。
  2. 我们创建一个 config.json 文件并存储设置,以漂亮的 JSON 格式。
  3. 我们直接读取和写入配置文件,因此即使您的流程在之后崩溃,您的设置也会在调用方法时立即保存。