Дима Яковлев

Что возвращает PHP функция, если не указана конструкция return

Пользователь GetSimple CMS и читатель моих заметок об этой системе управления контентом, обратившись ко мне за консультацией по разработке плагина, задал вопрос. Привожу его дословно: “Что возвращает функция, если она заканчивается echo?”

В контексте GetSimple CMS вопрос возник не просто так – если посмотреть код функций в файле theme_functions.php, а это функции, специально написанные для использования в шаблонах тем оформления, то большинство из них имеют опцию, включающую либо вывод результата выполнения функции конструкцией echo, либо его возврат конструкцией return. Так что же возвращают эти функции после выполнения конструкции echo, если сама конструкция принимает аргументы, но ничего не возвращает?

Ответ на вопрос лежит в самом языке PHP и не связан с GetSimple CMS – функция, в которой не указана конструкция return, возвращает значение NULL. Что логично и о чём напрямую можно прочитать в документации PHP.

Для тех, кто хочет проверить самостоятельно, применительно к GetSimple CMS, может сделать это, например, добавив следующий код в компонент:

<pre><?php var_dump(return_page_title(true)); ?></pre>

Даже если вы не используете GetSimple CMS, но начинаете изучать язык PHP, представление о том, что возвращает функция, в которой не указана конструкция return, может пригодится на практике, например, на собеседовании.