Return from include file

Php

Php Problem Overview


in PHP, how would one return from an included script back to the script where it had been included from?

IE:

1 - main script 2 - application 3 - included

Basically, I want to get back from 3 to 2, return() doesn't work.

Code in 2 - application

$page = "User Manager";
if($permission["13"] !=='1'){
    include("/home/radonsys/public_html/global/error/permerror.php");
    return();
}

Php Solutions


Solution 1 - Php

includeme.php:

$x = 5;
return $x;

main.php:

$myX = require 'includeme.php'; 

also gives the same result

This is one of those little-known features of PHP, but it can be kind of nice for setting up really simple config files.

Solution 2 - Php

return should work, as stated in the documentation.

> If the current script file was include()ed or require()ed, then control is passed back to the calling file. Furthermore, if the current script file was include()ed, then the value given to return() will be returned as the value of the include() call.

Solution 3 - Php

I know that this has already been answered, but I think I have a nice solution...

main.php

function test()
{
    $data = 'test';
    ob_start();
        include( dirname ( __FILE__ ) . '/included.php' );
    return ob_get_clean();
}

included.php

<h1>Test Content</h1>
<p>This is the data: <?php echo $data; ?></p>

I just included $data to show that you can still pass data to the included file, as well as return the included file.

Solution 4 - Php

Hm, the PHP manual disagrees with you. return should bail you out of an included file. It won't work from within a function, of course.

Solution 5 - Php

See Example #5 in the documentation for include.

You can get the return value of the script when including it, like:

$foo = include 'script.php';

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionbearView Question on Stackoverflow
Solution 1 - PhpFrank FarmerView Answer on Stackoverflow
Solution 2 - Phpinstanceof meView Answer on Stackoverflow
Solution 3 - PhpGravyView Answer on Stackoverflow
Solution 4 - PhpEeveeView Answer on Stackoverflow
Solution 5 - PhpBrianView Answer on Stackoverflow