VersionPress\Utils\StringUtils::fillTemplateString PHP Method

fillTemplateString() public static method

Placeholders pattern: {{variable-name}}
public static fillTemplateString ( array $variables, string $templateString ) : string
$variables array associative array with keys as variable names.
$templateString string template string which contains placeholders for variables to be expanded.
return string templateString with expanded variable placeholders
    public static function fillTemplateString($variables, $templateString)
    {
        $search = array_map(function ($var) {
            return sprintf('{{%s}}', $var);
        }, array_keys($variables));
        $replace = array_values($variables);
        return str_replace($search, $replace, $templateString);
    }

Usage Example

 /**
  * @test
  */
 public function mergeDriverIsNotAddedWhenPresent()
 {
     $gitattributesContents = file_get_contents(__DIR__ . '/../../src/Initialization/.gitattributes.tpl');
     $gitConfigContents = "[merge \"vp-ini\"]";
     $gitattributesVariables = ['vpdb-dir' => self::$repositoryDir];
     $gitattributesContents = StringUtils::fillTemplateString($gitattributesVariables, $gitattributesContents);
     file_put_contents(self::$repositoryDir . "/.gitattributes", $gitattributesContents);
     file_put_contents(self::$repositoryDir . "/.git/config", $gitConfigContents);
     $this->installMergeDriver('auto');
     $this->assertEquals($gitConfigContents, file_get_contents(self::$repositoryDir . "/.git/config"));
     $this->assertEquals($gitattributesContents, file_get_contents(self::$repositoryDir . "/.gitattributes"));
 }
All Usage Examples Of VersionPress\Utils\StringUtils::fillTemplateString