johnpbloch/decisions

非选项

安装: 22

依赖项: 0

建议者: 0

安全: 0

星标: 10

关注者: 3

分支: 2

开放问题: 1

类型:wordpress-muplugin

1.0.0 2016-03-07 02:55 UTC

This package is auto-updated.

Last update: 2024-09-10 07:14:45 UTC


README

在JSON文件中定义值,它们将覆盖数据库中相应的选项值。始终如此。

需求

  • PHP 5.3
    • 抱歉
    • 不抱歉。

使用方法

你真应该使用这个必须使用的插件,但这需要一些专业知识以及额外的设置。如果你不知道MU插件是如何工作的,或者不知道如何将其设置为之一,你可能真的不需要这个插件?或者你也许想更好地了解为什么你需要它?

默认情况下,它将在 ABSPATH . '.decisions.json' 中查找配置文件。您可以在配置文件中这样更改位置

define( 'JPB\Decisions\DECISIONS', 'wherever/you/want' );

您想要默认设置的任何选项都放入 standard 哈希中

{
  "standard": {
    "blogname": "Super Serial Blog Name",
    "admin_email": "john@example.com"
  }
}

在多站网络中,您可以使用特定于站点的哈希添加或覆盖标准选项。站点选项应由站点域名 + 站点路径(用斜杠分隔,并删除协议)键入(因此 http://example.com/subsite/ 变为 example.com/subsite)。特定于站点的选项位于 sites 键下

{
  "sites": {
    "example.com/subsite": {
      "admin_email": "jane@example.com"
    },
    "something-else.com/multinetwork": {
      "omgwat": "Still works"
    }
  }
}

在多站中,您还可以使用 network 哈希添加网络范围的选项

{
  "network": {
    "auth_policy": "Gandalf"
  }
}

JSON被解码为关联数组而不是对象。如果您需要一个对象,您可以将数据序列化并将序列化的字符串直接存储。所有值在使用前都通过 maybe_unserialize 传递。

我认为可能会被FA的问题

JSON?为什么不用YAML/RAML/XML/LOLSPEAK?

PHP有核心JSON解码。没有人有时间使用用户库。

关于在此插件运行之前获取的选项怎么办?

我真的帮不了你。这远远超出了80/20规则。也许可以直接设置DB值,然后短路任何尝试更新该键的尝试?

你吗?

我做到了。

许可证

MIT