Считается ли это «плохим стилем», когда php-функция не заканчивается оператором return? - PullRequest
0 голосов
/ 22 марта 2019

Я хочу загрузить шрифты Google в головной части моей страницы, используя php-функцию.

Моя <head> -области выглядит так:

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

Теперь яТакое ощущение, что я должен завершить функцию loadGoogleFonts оператором return.Но когда я это сделаю, будет отображаться «1» (из-за <?=).

Это плохой стиль, чтобы избегать оператора return?

Ответы [ 3 ]

2 голосов
/ 22 марта 2019

Отсутствие возврата не является плохим стилем в целом.Наличие <?= .. ?> - плохой стиль, если вы не хотите ничего отображать.Просто используйте <?php .. ?>.

Отсутствие возврата может быть плохим стилем, если некоторые пути кода возвращают значение, а другие пути кода - нет.

1 голос
/ 22 марта 2019

Возвращаемые значения: необязательно . PHP Manual гласит:

Если значение return опущено, будет возвращено значение NULL .

Поэтому, даже если вы сами ничего не вернете, будет возвращенная вещь , хотя эта вещь будет пустым ничем .


В вашем примере:

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

Если ничего не возвращается, тогда значение Class->loadGoogleFonts($fontsfile) будет null.

Поэтому, потому что null ваше использование <?= бессмысленно.<?php echo null;?> ничего не делает.

Если это иногда null и иногда значение, то вы всегда должны возвращать что-то, чтобы избежать этой неоднозначности.Например;скажем, возвращаемое значение - это количество шрифтов, загруженных (3) методом.Если шрифты не загружены, метод должен явно возвращать 0, а не null.Вы должны сделать ваши возвращения последовательными типами.

0 голосов
/ 22 марта 2019

Просто используйте

<?php ... ?>

вместо

<?= .. ?>
...