INI配置选项存储在配置/ config.ini.php
而且配置/ global.ini.php
文件。
global.ini.php
包含默认选项值,是与Matomo(以前是Piwik)的代码一起分发的文件config.ini.php
包含了用户配置:它允许用户覆盖默认值。这个文件没有与Matomo的代码一起分发,因为它是由每个用户定制的。插件和其他代码可以使用Piwik \配置单例。
要了解有关各个配置选项的更多信息,请阅读中的文档global.ini.php.
INI配置选项被分组到不同的部分。INI配置中使用括号声明section,例如:
[MySection] my_config_value = 1
选项可用于通过追加来存储多个项[]
并设置它不止一次,例如:
[MySection] myarray[] = 1 myarray[] = 2 myarray[] = 3
的配置单例允许PHP代码访问整个配置部分。类的命名为公共字段的方式访问它们配置单例。
属性中的每个配置选项都将输出(通用)
部分:
for (Config::getInstance()->General as $name => $value) {echo "Option $name == "。print_r()美元价值,真正的);}
配置选项可以在内存中通过配置以相同的方式设置它们:
配置::getInstance()->Development['disable_merged_assets'] = 1;
要持久化这些更改,使它们出现在INI文件中,请调用forceSave ()
方法:
配置::getInstance () - > forceSave ();
您可以将新配置添加到配置:getClientSideOptions ()然后,这些配置将使用JavaScript作为piwik.config
对象。在公开配置时,您需要仔细检查,以避免公开任何不应该被所有人(公开)看到的配置。任何配置值都将通过HTML对每个人可见,例如在登录屏幕等。另外,根据值的不同,您可能希望为配置强制执行某种类型。例如,如果配置应该是一个整数,那么最好将其转换为整数,以防它是一个字符串等。
插件不能添加新的配置选项。如果您正在创建一个核心贡献,并希望添加一个新的INI选项,您可以简单地将该选项及其默认值添加到global.ini.php
.
如果你想让你的插件可配置,创建一个插件设置.
最好的做法是不要以配置名开头disable_
而是使用enable_
.例如,Disable_processing_unique_visitors_range = 0
相比之下,非技术用户略难阅读Enable_processing_unique_visitors_range = 1
.请注意,布尔配置并不一定要开始enable_
.例如,某些设置可能不使用它Assume_secure_protocol = 0/1
,Multi_server_environment = 0/1
,或Force_ssl = 0/1
.
例如,Force_ssl = 1
配置中的布尔值。按照惯例,我们通过将设置与值进行比较来检查某个特性是否启用1
是这样的:
if (\Piwik\Config::getInstance()->General['setting'] == 1) {}
这目前在整个代码库中并不一致,因为有些地方将值作为布尔值进行比较,如下所示(不推荐):
if (\Piwik\Config::getInstance()->General['setting']) {}
有人建议我们今后要改进和澄清这一点.我们不能重构布尔检查来与1进行比较,因为这将是一个破坏性的更改,因为这意味着如果有人配置了例如2,那么它将不再被解释为启用。
当有人配置时请注意设置=开启
或设置= yes
然后它们的值在代码中转换为1
也的值从
而且没有
将被转换为0
.