Можно ли остановить включение php-файла?

Можно ли остановить включение файла в середине файла?

Например, один файл будет содержать:

include('home.php'); 

и в home.php , он попытался бы отменить включение в какой-то момент:

 break; // I tried it doesn't work echo "this will not be output 

Я не говорю о exit , который останавливает все, даже корневой файл. Я просто хочу, чтобы из текущего файла выходил.

Related of "Можно ли остановить включение php-файла?"

Вместо break используйте return :

return

Если вызывается из глобальной области, то выполнение текущего файла сценария завершается. Если текущий файл сценария был include() ed или require() ed, тогда управление передается обратно в вызывающий файл.

Нет. Когда вы включаете или требуете. Этот файл загружается и полностью анализируется. Это не означает, что код в нем выполняется, но он полностью загружен .

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

http://php.net/manual/en/language.control-structures.php

То, что вы можете сделать, это установить флаг в «родительском» скрипте, который ищет включенный скрипт. Если он установлен, он прекратит выполнение раньше, иначе он будет продолжаться как обычно.

Пример:

main.php

 <?php $_GLOBAL['is_included'] = true; include('somefile.php'); // More stuff here ?> в <?php $_GLOBAL['is_included'] = true; include('somefile.php'); // More stuff here ?> 

somefile.php

 <?php // Does some stuff // Stops here if being include()'d by another script if ( isset($_GLOBAL['is_included']) ) { return; } // Do some more stuff if not include()'d ?>