PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Settings / Interfaces / Traits / Getters / MeasurableGetterTrait.php
matomo / app / core / Settings / Interfaces / Traits / Getters Last commit date
ConfigGetterTrait.php 4 months ago CustomGetterTrait.php 7 months ago MeasurableGetterTrait.php 7 months ago OptionGetterTrait.php 7 months ago SystemGetterTrait.php 7 months ago
MeasurableGetterTrait.php
49 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9 namespace Piwik\Settings\Interfaces\Traits\Getters;
10
11 use Piwik\Piwik;
12 use Piwik\Settings\Measurable\MeasurableSetting;
13 use Piwik\Settings\Measurable\MeasurableProperty;
14 /**
15 * @template T of mixed
16 *
17 * @phpstan-require-implements \Piwik\Settings\Interfaces\MeasurableSettingInterface<T>
18 */
19 trait MeasurableGetterTrait
20 {
21 public static function getMeasurableSetting(int $idSite, bool $isProperty = \false)
22 {
23 if ($isProperty) {
24 return new MeasurableProperty(self::getMeasurableName(), self::getMeasurableDefaultValue(), self::getMeasurableType(), Piwik::getPluginNameOfMatomoClass(static::class), $idSite);
25 }
26 return new MeasurableSetting(self::getMeasurableName(), self::getMeasurableDefaultValue(), self::getMeasurableType(), Piwik::getPluginNameOfMatomoClass(static::class), $idSite);
27 }
28 /**
29 * @return T
30 */
31 public static function getMeasurableValue(int $idSite, bool $isProperty = \false)
32 {
33 return self::getMeasurableSetting($idSite, $isProperty)->getValue();
34 }
35 /**
36 * @return T
37 */
38 protected static abstract function getMeasurableDefaultValue();
39 protected static abstract function getMeasurableName() : string;
40 protected static abstract function getMeasurableType() : string;
41 /**
42 * @deprecated Will be removed in 6.0 in favour of making getMeasurableName public
43 */
44 public static function getMeasurableSettingShortName() : string
45 {
46 return self::getMeasurableName();
47 }
48 }
49