Load config data from a string
public static fromString ( Gdn_Configuration $Parent, string $String, string $Tag, string $Name = 'Configuration' ) : Gdn_ConfigurationSource | ||
$Parent | Gdn_Configuration | Parent config object |
$String | string | Config data string |
$Tag | string | Internal friendly name |
$Name | string | Optional setting name |
return | Gdn_ConfigurationSource |
/** * Loads settings from a string into the object with the specified name; * * This string should be a textual representation of a PHP config array, ready * to be eval()'d. * * @param string $String A string containing the php settings array. * @param string $Tag A string descriptor of this config set * @param string $Name The name of the variable and initial group settings. * Note: When $Name is 'Configuration' then the data will be set to the root of the config. * @param boolean $Dynamic Optional, whether to treat this as the request's "dynamic" config, and * to save config changes here. These settings will also be re-applied later when "OverlayDynamic" * is called after all defaults are loaded. * @return boolean */ public function loadString($String, $Tag, $Name = 'Configuration', $Dynamic = true, $SaveCallback = null, $CallbackOptions = null) { $ConfigurationSource = Gdn_ConfigurationSource::fromString($this, $String, $Tag, $Name); if (!$ConfigurationSource) { return false; } $UseSplitting = $this->splitting; $ConfigurationSource->splitting($UseSplitting); $SourceTag = "string:{$Tag}"; $this->sources[$SourceTag] = $ConfigurationSource; if ($Dynamic) { $this->dynamic = $ConfigurationSource; } if (!$UseSplitting) { $this->massImport($ConfigurationSource->export()); } else { self::mergeConfig($this->Data, $ConfigurationSource->export()); } // Callback for saving if (!is_null($SaveCallback)) { $ConfigurationSource->assignCallback($SaveCallback, $CallbackOptions); } }