我有这个代码,我希望尽可能小。
正如您所看到的,我们重复了很多相同的HTML代码,但稍作修改。
<?php if( ! $liked_before): // If not liked before, show the link a href?>
<a href="javascript:;" id="action-like">
<div class="action_like" title="Like">
<abbr title="Like">Like</abbr>
</div>
</a>
<?php elseif($liked_before): // else dim it and make non clickable ?>
<p id="action-like" rel="liked_before">
<div class="action_like" title="You Like this" style="opacity: 0.5;">
<abbr title="You Like this">Like</abbr>
</div>
</p>
<?php endif; ?>
对于我如何将其浓缩为更少的问题,我感到很困惑 我也直接使用与上面相同的代码,所以我有2个if if语句 如您所见,唯一改变的是:
a href=...
代码添加到p
代码p
标记必须具有rel,因为它在javascript中使用。 有什么想法可以让我更精简吗?
某种内联回声。
你会怎么做?
答案 0 :(得分:7)
我会保留原样。
从您的示例中,您还要修改<p>
或<a>
标记内的HTML(样式和缩写属性),并将一些东西混合在一起解决这个微不足道的“问题”只会导致管理代码的可读性和难度较低。特别是从效率的角度来看,这里没有任何好处。
答案 1 :(得分:1)
这听起来好像可以使用更好的CSS来整理。您可以使用1个带有“喜欢”类的标签来区分这两个标签。非常整洁的代码只有两个不同的标签。
答案 2 :(得分:1)
我会选择
else
条件,您不需要它。它既可以被喜欢也可以不受欢迎。 a
元素。执行检查,一次打开,一次打开。答案 3 :(得分:0)
这样的东西?
<html><?php echo $booleanCondition ? '<b>blah</b>' : '<i>blah</i>';?><html>
答案 4 :(得分:0)
为了在答案中列出实际答案:
创建一个打印此函数的函数,并在整个php文件中将该函数作为单行代码调用。
答案 5 :(得分:-4)
像这样:
<?php
function getHtml($liked_before){
$title='';
$styleAttr='';
if( ! $liked_before){ // If not liked before, show the link a href
$title='Like';
}
else{ // else dim it and make non clickable
$title='You Like this';
$styleAttr=' style="opacity: 0.5;"';
}
$html='<div class="action_like" title="'.$title.'"'.$styleAttr.'><abbr title="'.$title.'">Like</abbr></div>';
if( ! $liked_before){ // If not liked before, show the link a href
$html='<a href="javascript:;" id="action-like">'.$html.'</a>';
}
else{ // else dim it and make non clickable
$html='<p id="action-like" rel="liked_before">'.$html.'</p>';
}
return $html;
}
?>