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

时间:2014-09-25 14:35:31

标签: php

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

可以将require_once存储在变量中并稍后执行吗?

我需要将其置于功能

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

1 个答案:

答案 0 :(得分: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.
?>

因此,您无法存储函数本身以便稍后执行它,但您可以存储来自必需或包含文件的返回值。无论如何,如果你更好地解释你使用它是什么,我可以帮助你更好。