我的应用由 2 个部分组成,1 个私有管理和 1 个支付网关,它们部署到不同的 url:
https://manage-my-app.com
https://pay-my-app.com
它们需要能够存在于 1 台服务器上,但是,域在同一个vhost
文件中进行管理。
我想将 Google Analytics 配置为在每个这些 url 上单独运行,但要在环境变量中存储尽可能多的配置(符合 12Factor)。
我想避免使用应用环境(开发、登台、生产)来确定何时加载 GA,并且我想尝试使用尽可能少的变量。
我正在考虑使用:
# manage-my-app.com vhost config
SetEnv GA_CODE something
# pay-my-app.com vhost config
SetEnv GA_CODE somethingelse
然后在我的代码中,使用:
<?php if ($ga = getenv('GA_CODE')) : ?>
// do google analytics here
<?php endif; ?>
我认为这涵盖了我的所有基础:
- 配置在 ENV 中
- 每个部署都有自己的分析代码
- 每个部署只需要维护自己的字符串
- 没有分析的部署(开发、登台等)不包括 javascript
但我担心它的可扩展性不够。
例如:
如果我需要特殊的分析代码或支付网关配置以符合我们的隐私政策,我应该如何修改我的方法?
我想避免 2 条路径,但如果 2 条路径是唯一的方法,我不能依赖 url:
<?php if ($ga = getenv('GA_CODE')) : ?>
<?php if ($url == 'pay-my-app.com') : ?>
<!-- do it one way -->
<?php else : ?>
<!-- do it some other way -->
<?php endif; ?>
<?php endif; ?>