rinvex/laravel-settings

Rinvex Settings 是一款 Laravel 设置管理包。您可以轻松添加、更新和删除应用程序设置,并且可以使用类似于 Laravel 默认配置选项的方式使用它。它具有在运行时覆盖配置选项的能力,并且自带支持可租户功能。

此包的官方仓库似乎已消失,因此该包已被冻结。

v1.0.3 2023-07-03 13:28 UTC

This package is auto-updated.

Last update: 2024-07-04 09:42:26 UTC


README

Rinvex Settings

Rinvex Settings 是一款 Laravel 设置管理包。您可以轻松添加、更新和删除应用程序设置,并且可以使用类似于 Laravel 默认配置选项的方式使用它。它具有在运行时覆盖配置选项的能力,并且自带支持可租户功能。

Packagist Scrutinizer Code Quality Travis StyleCI License

安装

  1. 使用 composer 安装此包

    composer require rinvex/laravel-settings
  2. 发布资源(迁移和配置文件)

    php artisan rinvex:publish:settings
  3. 通过以下命令执行迁移

    php artisan rinvex:migrate:settings
  4. 完成!

使用方法

值得一提的是,此包的 API 是受 Laravel 默认配置选项启发的,并且与它紧密结合。

访问设置值

您可以使用全局 setting 函数从应用程序的任何位置轻松访问您的设置值。设置值可以通过“点”语法访问,包括您要访问的设置组和选项的名称。还可以指定一个默认值,如果设置选项不存在,则返回该默认值。

$value = setting('meta.description');

// Retrieve a default value if the configuration value does not exist...
$value = config('meta.description', 'Rinvex Settings is a Laravel package for setting management.');

要在运行时设置配置值,请将一个数组传递给 config 函数

config(['meta.description' => 'You can add, update, and delete application settings with ease, and use like the detaul Laravel config options.']);

更多示例

// Retrieve individual setting
$metaKeywords = setting('meta.keywords');
$metaDescription = setting('meta.description');

// Retrieve individual setting of an overridden config option
$appName = setting(‘app.name’);

// Retrieve group of settings
$meta = setting('meta’);

// Retrieve a default value if the setting value does not exist
$metaAuthor = setting('meta.author', 'Abdelrahman Omran');

// Set runtime setting values
setting(['meta.author' => 'Omranic']);
setting(['new.setting.key’ => Some Value Here!']);

注意

  • 此包会自动遍历所有设置并将它们加载到一个 IoC 集合中。
  • 它支持设置嵌套、可租户功能(如果可用)以及配置选项覆盖。
  • 它会在应用程序启动时早期执行,这使得所有选项在整个应用程序中都可以使用。
  • 设置的底层类基本上是 Laravel Eloquent 模型,这意味着您可以使用相同直观的方式使用它。

配置缓存

为了给您的应用程序提速,您应该使用 setting:cache Artisan 命令将所有设置缓存到一个文件中。这将把您应用程序的所有配置选项合并到单个文件中,该文件可以由框架快速加载。

通常,您应该在生产部署过程中运行 php artisan setting:cache 命令。在本地开发期间不应运行此命令,因为设置在应用程序开发过程中可能会频繁更改。

注意

  • 由于设置缓存会动态地覆盖应用程序的全局设置,因此我们尚未找到处理可租户设置缓存的方法,因此目前禁用了设置缓存。

高级使用方法

设置可以覆盖默认配置选项。请注意,如果不小心使用,这可能会改变您应用程序的默认行为。

要使用设置覆盖任何配置选项,只需创建一个新的设置,其键与该配置选项相同(例如:app.name),然后将 override_config 属性设置为 TRUE,设置您想要设置的覆盖值,并保存设置。下次您的应用程序启动并调用 config('app.name') 时,它将自动检索您为 setting('app.name') 设置的值。

注意

  • override_config 功能不是为了覆盖一些核心配置选项,例如数据库连接细节等,因为数据库连接配置选项是必需的,并且在非常早的阶段加载。在覆盖配置选项时要小心。

更新日志

请参阅变更日志以获取项目的完整历史。

支持

以下支持渠道随时可供您使用:

贡献与协议

感谢您考虑为此项目做出贡献!贡献指南可以在CONTRIBUTING.md中找到。

我们非常欢迎错误报告、功能请求和拉取请求。

安全漏洞

我们希望确保这个软件包对每个人都是安全的。如果您在这个软件包中发现了一个安全漏洞,我们感谢您以负责任的方式向我们披露。

公开披露漏洞可能会使整个社区面临风险。如果您发现了一个安全问题,请通过电子邮件发送给我们help@rinvex.com。我们将与您合作,确保我们完全理解问题的范围,并充分解决您的问题。我们将把发送到help@rinvex.com的邮件视为最高优先级,并尽快解决任何出现的问题。

在纠正安全漏洞后,将尽快部署安全修复版本。

关于Rinvex

Rinvex是一家软件解决方案初创公司,自2016年6月在埃及亚历山大成立以来,专门为中小企业提供集成企业解决方案。我们相信,我们的动力在于“价值、影响力和影响力”,这是我们区别于其他公司的因素,并通过软件的力量释放我们哲学的无限可能性。我们喜欢称它为“生活节奏的创新”。这就是我们如何为人类进步贡献自己的一份力量。

许可证

此软件根据MIT许可证(MIT)发布。

版权所有 (c) 2016-2022 Rinvex LLC,部分权利保留。