根据$page->typeface()
方法的返回类型和代码的位置(看起来你在模板视图上),我可能会选择:
<?php if ($typeface === $page->typeface()): ?>
<li><span>Typeface: </span><?=$typeface?></li>
<?php endif; ?>
PHP文档在这里:
控制结构的替代语法
请参阅此处<?=...?>
了解使用短标签时应注意的事项。
一个替代方案<?=...?>
是:<?php echo $typeface; ?>
.
希望有帮助!
编辑:
实际上,我早些时候对自己进行了第二次猜测(我责怪睡眠不足)。我最初有这个代码(除了trim()
):
<?php if ($typeface = trim($page->typeface())): ?>
<li><span>Typeface: </span><?=$typeface?></li>
<?php endif; ?>
我在哪里设置$typeface
变量if()
。这种技术应该将您的代码缩短一行。
这是一个使用简单字符串的工作示例:
<?php $foo = ""; ?>
...
<?php if ($typeface = trim($foo)): ?>
<li><span>Typeface: </span><?=$typeface?></li>
<?php endif; ?>
...输出:没有。
<?php $foo = 'I\'m a string!'; ?>
...
<?php if ($typeface = trim($foo)): ?>
<li><span>Typeface: </span><?=$typeface?></li>
<?php endif; ?>
...输出:(<li><span>Typeface: </span>I'm a string!</li>
显然,缺少开头和结尾<ul></ul>
。