我试图得到我的代码错误和通知自由。因此我应该检查每一个我想要回显的变量。我感兴趣的具体情况是,一个"新"页面也可以作为"编辑"。如果选择了某些内容,它将显示编辑页面,其中的字段将填充要编辑的内容。如果没有选择,它是相同的页面,但有空字段。这可以让你明白我的意思:
<li class="bordertop">
<label>Recommended knowledge</label>
<input class="first_input" name="recommended[]" value="<?php if (count ($Subject->retrieveLink('recommended')) > 0) echo current($Subject->retrieveLink('recommended')); ?>" placeholder="Title"/>
<input class="second_input" name="recommended_url[]" value="<?php if (key ($Subject->retrieveLink('recommended')) != null) echo key($Subject->retrieveLink('recommended')); ?>" placeholder="http://www.example.com"/>
</li>
我真的不喜欢我的页面有那么多代码。我正在尝试尽可能多地将逻辑与表示分离,并保持面向对象的方法。我正在考虑做类似的事情:
// Check + echo
function checko($arg = null)
{
if (!is_array($arg))
if (!empty($arg))
echo $arg;
}
但这似乎也在为将来的麻烦打电话(从内部回显不让我进一步修改字符串,它感觉不像一个"适当"的解决方案)。有很多变量,我想检查和回显,有时会填充,有时是空的。最好的方法是什么?我知道我可以通过执行if (empty($variable)) echo $variable
在任何地方重复我的代码,但是:
这不能从对象返回值(在PHP 5.4中,我相信它会在5.5中工作)。这是我最关心的,因为我经常使用它。
我有太多重复的代码。没有
我正试图得到我的代码错误和通知自由。因此,我应该检查我想要回显的每个变量。
不,你不应该。
听着,这些通知不只是为了让你忙着跟他们抗争。它们是为了帮助,而不是让你的代码变得复杂。
你只需要确定你操作的是什么变量。添加大量的if(empty())
不会有任何好处。
我真的不喜欢我的页面里有那么多代码。
对于模板来说确实有太多代码了。其中一些应该移动到controller
中在调用模板之前准备好数据,然后将其简化为
<input class="first_input" name="recommended[]" value="<?=$recommended?>" placeholder="Title"/>
<input class="second_input" name="recommended_url[]" value="<?=$recommended_url?>" placeholder="http://www.example.com"/>
不要在函数内部回显,只返回值
// Check + echo
function checko($arg = null) {
if (!is_array($arg))
if (!empty($arg))
return $arg;
}
同样,如果你想缩短代码,你可以使用三元操作符:http://phpmaster.com/using-the-ternary-operator/