当不以`return`语句结束php函数时,它是否被视为“不良样式”?

时间:2019-03-22 13:21:38

标签: php return

我想使用php函数在页面顶部加载Google字体。

我的<head>区域看起来像这样:

...
<?=Class->loadGoogleFonts($fontsfile)?>
...

现在我有一种感觉,我必须以返回语句结束loadGoogleFonts函数。但是当我这样做时,将显示“ 1”(由于<?=)。

避免退货声明是不好的风格吗?

3 个答案:

答案 0 :(得分:2)

没有回报,通常来说也不错。 如果您不想显示任何内容,则<?= .. ?>是不好的风格。只需使用<?php .. ?>

如果某些代码路径返回一个值,但其他代码路径没有返回值,则没有返回值可能是不好的样式。

答案 1 :(得分:1)

返回值是可选PHP Manual指出:

  

如果省略return,则将返回值 NULL

因此,即使您自己什么也不退货,也会有退货的东西,尽管那东西会是空无一物


在您的示例中:

<?=Class->loadGoogleFonts($fontsfile)?>

如果未返回任何内容,则Class->loadGoogleFonts($fontsfile)的值为null

因此,因为它是null,所以您对<?=的使用毫无意义。 <?php echo null;?>不执行任何操作。

如果它有时有时 null并且有时是一个值,那么您应该始终返回一些值以避免这种歧义。例如;假设返回值是该方法加载的字体数量(3)。如果未加载字体,则该方法应显式返回0而不是null。您应该使返回的类型一致。

答案 2 :(得分:-1)

只需使用

<?php ... ?>

代替

<?= .. ?>