temant / settings-manager
基于 doctrine orm 的灵活设置管理库。
v1.1.0
2024-09-11 08:06 UTC
Requires
- doctrine/orm: ^3.2
- symfony/cache: ^7.1
Requires (Dev)
- phpstan/phpstan: ^1.12
- phpunit/phpunit: ^11.3
README
为 PHP 应用程序提供的灵活设置管理系统,支持多种数据类型,并与 Doctrine ORM 无缝集成。它提供设置导入、导出和自动类型检测功能。
特性
- 多种数据类型:支持
string
、integer
、boolean
、float
和JSON
类型。 - 导入/导出:轻松以 JSON 或数组格式导入/导出设置。
- Doctrine ORM 集成:使用 Doctrine ORM 的强大功能管理设置。
- 自动类型检测:自动检测设置的 数据类型。
- 高度可定制:轻松扩展和修改功能。
安装
-
通过 Composer 安装
composer require temant/settings-manager
-
确保您的项目中已正确安装和配置了 Doctrine ORM。
用法
基本设置
use Temant\SettingsManager\SettingsManager; use Temant\SettingsManager\Enum\SettingType; use Doctrine\ORM\EntityManagerInterface; // Create a SettingsManager instance with Doctrine EntityManager $settingsManager = new SettingsManager($entityManager); // Add or update a setting $settingsManager->set('site_name', 'My Awesome Site', SettingType::STRING); // Retrieve a setting $siteName = $settingsManager->get('site_name')->getValue(); echo $siteName; // Outputs 'My Awesome Site' // Remove a setting $settingsManager->remove('site_name');
导入和导出设置
您可以选择以数组或 JSON 格式轻松导入或导出设置。
导出到 JSON
use Temant\SettingsManager\Utils\SettingsExporter; $jsonData = SettingsExporter::toJson($settingsManager); echo $jsonData;
从 JSON 导入
use Temant\SettingsManager\Utils\SettingsImporter; $jsonData = '{"site_name": {"name": "site_name", "value": "My Awesome Site", "type": "STRING"}}'; SettingsImporter::fromJson($settingsManager, $jsonData);
运行测试
使用 PHPUnit 运行测试套件
composer test
使用 PHPStan 进行静态分析
composer phpstan
贡献
我们欢迎贡献!请随意提交问题或拉取请求。对于重大更改,请先提交问题讨论您想要更改的内容。
许可
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。