включающий против возвращаемого включает


Когда вам нужно включить файл, просто используйте "включить файл", а когда вам нужно вернуть файл конфигурации, вы должны использовать "вернуть файл включения"...
обычно у меня есть функция "загрузчик ($file, $return =false)", где я использую $return для возврата include или нет.

мой вопрос заключается в том, есть ли проблема в сохранении возвращаемого включаемого файла даже для файлов, которые не являются конфигурацией:

return include "class/view.php"
return include "config/test.php"

Спасибо

Author: Papa Charlie, 2013-05-23

2 answers

Из php.net:

Обработка возвратов: при сбое include возвращает значение FALSE и выдает предупреждение. Успешное включение, если оно не переопределено включенным файлом, возвращает 1. Можно выполнить оператор return внутри включенного файла, чтобы завершить обработку в этом файле и вернуться к сценарию, который его вызвал. Кроме того, можно возвращать значения из включенных файлов. Вы можете принять значение включенного вызова, как для обычного функция. Однако это невозможно при включении удаленных файлов, если выходные данные удаленного файла не имеют действительного Начальные и конечные теги PHP (как и в любом локальном файле). Вы можете объявить необходимые переменные в этих тегах, и они будут введены в любой момент, когда файл был включен.

Если ваш class/view.php или config/test.php использует return, тогда вы можете оставить его себе. Если нет return в этих файлах нет причин, если только вы не хотите запретить текущий сценарий от дальнейшего исполнения.

Пример 1:

<?php
echo 1;  // < executes

return include 'somefile.php';  // < script will end here because of "return"

echo 2;  // < not executes ever
?>

Пример 2:

<?php
echo 1;  // < executes

include 'somefile.php';  // < executes

echo 2;  // < executes
?>
 4
Author: BlitZ, 2013-05-23 07:08:48

Если в включенном файле нет return, он просто вернет 1, так что проблем не будет.

 1
Author: Maxim Khan-Magomedov, 2013-05-23 07:01:00