azbosakov/param-string-printf

具有printf样式占位符的模板字符串。

1.0.0 2019-03-13 08:17 UTC

This package is auto-updated.

Last update: 2024-09-14 22:15:56 UTC


README

具有printf样式占位符的模板字符串。

当使用sprintf()时,模板参数作为参数传递。此类类似于“延迟sprintf” - 而不是变量,参数名称被传递给构造函数。必须为所有占位符提供足够的参数名称。

示例

use AZBosakov\ParamString\Printf;
...
$pf = new Printf('The answer is %d, the question is %s, the answer again is %d', 'ans', 'q', 'ans');
$pf = $pf->withParams(['ans'=>42, 'q'=>'"6 x 9 = ?"']);

"$pf" == "The answer is 42, the question is "6 x 9 = ?", the answer again is 42";

方法

public function __construct(string $template, string ...$paramNames)

必须为所有占位符提供足够的参数。

public function getTemplate() : string (ParamStringInterface)

获取传递给构造函数的模板字符串

public function withParam(string $name, $value) : self (ParamStringInterface)

克隆对象并设置命名参数值。

public function getParam(string $name) (ParamStringInterface)

按名称获取参数

public function withParams(array $params) : self (ParamStringInterface)

克隆对象并一次性设置多个参数。

public function getParams() : array (ParamStringInterface)

获取参数的快照

public function __toString() : string (ParamStringInterface)