我正在尝试将一些php函数作为静态方法重写到一个标准类库中,这样我的开发团队就可以理解php函数。
以下是我目前的情况:
class StringUtil
{
public static function sprintf ($format, $args = null, ... $_)
{
return sprintf($format,$args,$_);
}
}有了这个方法声明,我应该能够正确地利用splat operator。
我的问题是,如果$args没有使用任何参数,那么splat operator应该会根据需要按其声明失败。
我正在寻找的是这样的东西,其中传递了一个null值作为splat operator的默认参数
class StringUtil
{
public static function sprintf ($format, $args = null, ... $_ = null)
{
return sprintf($format,$args,$_);
}
}发布于 2018-05-24 13:14:58
class StringUtil
{
public static function sprintf($format)
{
$args = func_get_args();
$fmt = array_shift($args);
return vsprintf($fmt, $args);
}
}UPD:
class StringUtil
{
public static function sprintf($fmt)
{
return call_user_func_array('sprintf', func_get_args());
}
}https://stackoverflow.com/questions/50439556
复制相似问题