为CURRENT_THEME_SUPPORTS创建函数还是变量更好?

时间:2012-05-06 作者:amy

我只是问自己,有两种方法可以实现这一点。什么更适合编码标准?还是这只是个人的事情?

And what about php and memory, assuming this would be way more complicated and executed very often. Would it cost more memory to create a function or a variable?

解决方案1:

function stuff(){

    [...]

    $fluid = ( current_theme_supports(\'greatness\') ) ? \'-greatness\' : \'\';

    $output = \'<div class="box\' . $fluid . \'">\';

    [...]

}
解决方案2:

function stuff_alternative(){

    [...]        

    $output = \'<div class="box\' . bootgen_is_great() . \'">\';

    [...]

}

function bootgen_is_great(){

    if ( current_theme_supports( \'greatness\' ) )
        return \'-greatness\';

}

1 个回复
SO网友:fuxia

内存不是这里的问题。没有复杂的操作,差异几乎无法测量。

重要的是可读性:如果stuff 功能相当短(少于八个功能步骤),您只需使用一次检查-将检查保留在其中
但如果您需要在不同功能中检查支持,请将其分开。

我宁愿optimize the names: greatness 不是很有描述性,虽然我喜欢流畅的布局,但它们不是优秀布局的同义词。:)
此外,它是一个自定义名称,因此prefix it 为了避免与插件发生冲突,并告诉不知情的读者(一年后的你)它是自定义的。

关于主题wpse51275的建议:

function wpse51275_box()
{
    // some awesome code …

    $box_class = \'box\';
    current_theme_supports( \'wpse51275_fluid_layout\' ) and $box_class .= \'-fluid\';

    $output = "<div class=\'$box_class\'>";

    // more awesome code …
}

结束