我正在尝试获取代码错误并免费注意。因此,我应该检查我想要回应的每个变量。我感兴趣的具体案例是一个“新”页面,也可以作为“编辑”。如果选择了某些内容,则会显示编辑页面,其中的字段将填入要编辑的内容。如果没有选择它,它是相同的页面,但是有空字段。这让我知道我的意思:
<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>
我真的不喜欢我页面中的那么多代码。我试图尽可能多地将逻辑从表示中分离出来并保持OOP方法。我正在考虑做类似的事情:
// 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中工作)并返回来自对象的值。这是我的主要关注点,因为我经常使用它。
我有太多的重复代码。否
答案 0 :(得分:1)
我试图解决我的代码错误并免费注意。因此,我应该检查我想要回应的每个变量。
不,你不应该
看,这些通知并不仅仅是为了让你忙着打架。他们是为了帮助,而不是让你的代码变得复杂
您只需要确定您操作的变量。添加批量if(empty())
不会有任何好处。
我真的不喜欢我页面中的那么多代码。
这确实是模板的代码太多了。其中一些应该转移到控制器中 在调用模板之前准备好数据,然后将其设为明文
<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"/>
答案 1 :(得分:0)
不要在函数内部回显,只返回值
// Check + echo
function checko($arg = null) {
if (!is_array($arg))
if (!empty($arg))
return $arg;
}
另外,如果要缩短代码,可以使用三元运算符: http://phpmaster.com/using-the-ternary-operator/