2014-09-25 105 views
0
$var = require_once("target.php"); 

是否可以将require_once存储在变量中并执行它迟到?PHP将require_once存储在变量中并稍后执行

我需要放置到这个功能

function foo($path){ 
    if($path !== ""){$path = require_once($path);} 
    do something first... 
    $path//than execute require_once 
} 
+1

存储什么,源代码或其输出? – 2014-09-25 14:38:00

回答

0

答案是否定的。当你分配require_once();一个变量,该变量变成与1的布尔以防文件已成功包括,否则返回0(在require_once(),因为它如果失败返回致命错误无用 所以,这样做:

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

无论如何,如果你创建一个PHP文件,返回的东西,例如:

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

在这种情况下,前面的例子是不同的:

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

因此,您不能将函数本身存储为稍后执行,但可以存储所需文件或包含文件中的返回值。无论如何,如果你更好地解释你使用它的原因,我可能会更好地帮助你。

+0

如果你想存储源代码本身,你可以使用file_get_contents();代替。 – 2014-09-25 14:47:08