答案 0 :(得分:1)
您可以:
将echo
替换为print_r
:
print_r( $StateList->state_name )
改为返回值:
return $StateList->state_name
关于棉绒为什么不鼓励使用echo
的原因,这取决于您的编码标准和上下文。
例如,如果您希望遵循PSR-1 Basic Coding Standard,则section 2.3指出:
文件应声明新的符号(类,函数,常量等),并且不引起其他副作用,或者应执行具有副作用的逻辑,但不应二者兼有。
由于echo
会产生副作用,因此,例如,在声明新类的文件的上下文中,建议不要这样做。在这种情况下,您将返回该值。
答案 1 :(得分:0)
Codacy在代码库中检测棉绒问题。掉毛问题可能是安全漏洞,代码样式问题等。
在您的情况下,使用php“ echo”是不明智的做法。就像您不应该在其他语言中使用println
一样。如果需要打印某些内容,则应使用记录器
答案 2 :(得分:0)
如果要在视图中使用for / foreach,则很容易解决它:
<?php for($i=1; $i<=$nbPage; $i++){
if($i==$page){ ?>
<span> <?= filter_var($i, FILTER_SANITIZE_FULL_SPECIAL_CHARS) ?> </span>
<?php } else{ ?>
<a href="index.php?access=blog&p=<?= filter_var($i, FILTER_SANITIZE_FULL_SPECIAL_CHARS) ?>"><?= filter_var($i, FILTER_SANITIZE_FULL_SPECIAL_CHARS) ?></a>
<?php }
} ?>
如果您在Controllers中,建议您使用对象设置或返回$ value。
希望这会有所帮助。