如何以高效且可维护的方式构建一个从PHP函数返回的字符串?

时间:2014-05-26 12:29:30

标签: php function output-buffering

我正在考虑在一个项目中反复自动格式化一些文本,以一种适合功能的方式。这些函数将文本粘贴在一起并正确格式化,包括在代码周围粘贴<span>标记等。

以下代码是否是正确的方法,或者是否浪费内存,因为我将所有文本加载到变量中?有没有更好的方法来做到以下几点?

function presentName ( $title, $fname, $lname )
{
    $return  = '<span class="name">';
    $return .= $title . ' ';
    $return .= $fname . ' ';
    $return .= $lname . '</span>';
    return $return;
}

我不想在这种情况下寻找替代功能。

我正在寻找一个不那么混乱的&#34;或者&#34;少浪费&#34;重构函数的方法,可能是在返回之前缓冲输出的方法。我的一些函数执行诸如渲染表单输入元素之类的操作,这些可能会有点混乱。

2 个答案:

答案 0 :(得分:0)

这样做的简短而不是非常漂亮的方式就是:

<?php
function presentName($title, $fname, $lname){
    return '<span class="name">'.$title.' '.$fname.' '.$lname.'</span>';
}
?>

点连接到部件,所以:

echo "hello"."dude";

会显示“hellodude”

答案 1 :(得分:0)

或者,您可以使用sprintf()来实现类似的目标。考虑这个例子:

function presentName($title, $fname, $lname) {
    return sprintf('<span name="name">%s %s %s</span>', $title, $fname, $lname);
}