namshi/google-doc-configuration-bundle

使用 Google 文档配置您的 Symfony2 应用程序的依赖注入容器。疯狂,嗯?

0.1.0 2014-09-21 06:01 UTC

This package is not auto-updated.

Last update: 2024-09-10 01:21:49 UTC


README

从 Google 文档配置您的 Symfony2 容器。听起来很疯狂,但更糟糕的是。

此捆绑包将允许您使用 Google 文档来存储键值对,并在您的 Symfony2 应用程序中重用它们:这意味着任何能够与电子表格交互的人都可以玩并配置您的应用程序。

这些值是“公共的”,也就是说,您需要共享 Google 文档(发布到网络),这样任何有链接的人都可以访问它,即使猜测文档的 URL 也不是那么简单。

无论如何,您应该使用此技术来存储类似

  • 缓存 TTL
  • 每页产品数
  • 横幅 URL

等等。请不要在那里存储密码或敏感数据。

安装

您可以通过 composer 轻松安装此库

"namshi/google-doc-configuration-bundle": "dev-master"

配置

简单地定义配置服务,这里我们使用 Redis 和 gvalue 将 Google 文档中的配置值存储到 Redis 中,并从 Redis 哈希中读取缓存的值以提高性能

parameters:
  namshi_google_doc_configuration.config.google_doc_key: 123456

services:
  config:
    class: Namshi\GoogleDocConfigurationBundle\Config\RedisConfig
    arguments: [@namshi_google_doc_configuration.predis, 'namshi.config', true]

Google 文档的键可以从 Google 文档的 URL 中找到,类似于 https://docs.google.com/a/namshi.com/spreadsheet/ccc?key=123456&usp=drive_web#gid=0,其中 123456 是文档的键。

要检查文档的格式,请查看 示例

然后请确保在 security.yml 中安全地保护捆绑包公开的 2 个路由

utility:
  pattern:    (^/namshi/update-config)|(^/namshi/config)
  http_basic:
    provider: ...

然后您可以通过 http://domain.example/namshi/config 检查您的配置,并通过 http://domain.example/namshi/update-config 从 Google 文档中更新它。

以不同方式存储配置

我们使用 Redis,但您有自由实现 ConfigInterface 并享受乐趣。

转换值

如果您需要处理/转换 Google 文档外的值,例如将 "false" 转换为 false,您可以简单地定义一个 namshi_google_doc_configuration.transformer 服务,并让它实现 TransformerInterface

这可能不是很干净,但您可以暂时忍受它:

测试

b****-please