owenbush/static-settings 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

owenbush/static-settings

最新稳定版本:2.1.0

Composer 安装命令:

composer require owenbush/static-settings

包简介

An API for storing and retrieving static settings

README 文档

README

Tests

A PHP library for managing static settings using a type-safe API with PHP 8.1+ enums.

Requirements

  • PHP 8.1 or higher

Installation

You can install the package via composer:

composer require owenbush/static-settings

Usage

1. Define Your Setting Enum

First, create an enum that implements BaseStaticSettingInterface:

<?php

declare(strict_types=1);

namespace YOURNAMESPACE;

use StaticSettings\BaseStaticSettingInterface;

enum Environment: string implements BaseStaticSettingInterface {
  case Development = 'development';
  case Staging = 'staging';
  case Production = 'production';
}

2. Register Your Setting

Before you use your setting, you should register it. This prevents other code from registering the same name and conflicting. This step is optional as when you set a setting for the first time it will also register it.

use StaticSettings\StaticSettings;

StaticSettings::registerSetting(Environment::class);

3. Set and Get Values

Now you can set and get values:

// Set the environment
StaticSettings::set(Environment::class, Environment::Production);
// Get the current environment
$environment = StaticSettings::get(Environment::class);
if ($environment === Environment::Production) {
// Do production-specific things
}

You can also set multiple values at once using:

// Set up some settings.
$settings = [
  Environment::class => Environment::Production,
  SomeOtherClass:class => SomeOtherClass::Value,
];

// Set multiple settings at once.
StaticSettings::setMultiple($settings);

// Retrieve the environment setting.
$environment = StaticSettings::get(Environment::class);

Error Handling

The library will throw InvalidStaticSettingsException in these cases:

  • Attempting to get an unregistered setting
  • Setting an invalid value for an enum
  • Registering the same setting name with different classes

Development

Running Tests

Install Dependencies

composer install

Run test suite

vendor/bin/phpunit

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Write your changes
  4. Write tests for your changes
  5. Run the tests
  6. Submit a pull request

Please make sure to update tests as appropriate and adhere to the existing coding style.

License

Static Settings is open-source software licensed under the GPL-2 License.

统计信息

  • 总下载量: 18.86k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2025-02-28