douqiao2008 2014-09-25 14:35
浏览 121
已采纳

PHP将require_once存储在变量中并稍后执行

$var = require_once("target.php");

is that possible to store require_once in variable and execute it late?

I need to place this into function

function foo($path){
  if($path !== ""){$path = require_once($path);}
  do something first...
  $path//than execute require_once
}
  • 写回答

1条回答 默认 最新

  • dtry54612 2014-09-25 14:46
    关注

    The answer is no. When you assign require_once(); to a variable, the variable turns into a boolean with 1 in case the file was included successfully, or 0 otherwise (useless in require_once() as it returns a fatal error if it fails. So, doing:

    <?php
    $hello = require_once("./hello.php");
    echo $hello; // Prints 1.
    ?>
    

    Anyway, if you create a php file that returns something, as for example:

    FILE: require.php
    <?php
    $hello = "HELLO";
    return $hello;
    ?>
    

    In this case, the previous example would be different:

    <?php
    $hello = require_once("./require.php");
    echo $hello; // Prints HELLO.
    ?>
    

    So, you cannot store the function itself to execute it later, but you can store returned values from the required or included files. Anyway, if you explain better what are you using it for, I maybe able to help you better.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?