让一个PHP脚本执行不同的PHP脚本并将其返回的值赋给变量的最简单方法是什么?
我用这个碰壁了。很难找到答案,因为我不知道该如何表达这个问题,而且我也想不出合适的关键词 我正在编写一个视图对象,用于我正在编写的MVC框架,它通过将脚本输出绑定在一起来组装页面。我被拴在一起了 script1.php:让一个PHP脚本执行不同的PHP脚本并将其返回的值赋给变量的最简单方法是什么?,php,Php,我用这个碰壁了。很难找到答案,因为我不知道该如何表达这个问题,而且我也想不出合适的关键词 我正在编写一个视图对象,用于我正在编写的MVC框架,它通过将脚本输出绑定在一起来组装页面。我被拴在一起了 script1.php: <?php $variable = solution('/path/to/script2.php'); echo $variable; ?> script2.php: <?php // generates a random md5 hash jus
<?php
$variable = solution('/path/to/script2.php');
echo $variable;
?>
script2.php:
<?php
// generates a random md5 hash just for example
mt_srand(microtime(true)*100000 + memory_get_usage(true));
$randommd5 = md5(uniqid(mt_rand(), true));
echo $randommd5;
?>
如何使这两个脚本在每次运行script1.php时返回相同的值
是否有用于此目的的PHP函数?如果没有,是否有一种简单而稳定的方法来实现这一点?
如果您从包含的文件中“返回”一个值,那么它应该是include()调用的返回值(根据doco)
但这不是一个很好的方法-函数或其他更标准的机制更好。就我个人而言,我会将其封装在函数中。如果要包含函数脚本,可以执行以下操作: script1.php
include('script2.php'); //now all functions and variables are available to script1
$variable = md5function();
<?php
include("script2.php");
echo get_hero_name("batman");
?>
脚本2.php
function md5function() {
mt_srand(microtime(true)*100000 + memory_get_usage(true));
$randommd5 = md5(uniqid(mt_rand(), true));
return ($randommd5);
}
<?php
function get_hero_name($hero){
switch ($hero) {
case "batman":
$return_var = "Bruce Wayne";
break;
case "superman":
$return_var = "Clark Kent";
break;
Default:
$return_var = "Papa Smurf";
break;
}
return($return_var);
}
?>
现在,script2返回一个变量($randomD5),然后在script1中将该变量分配给$variable。这将帮助您处理函数—将变量传递给包含文件中的函数,然后返回一些内容。我已经简化了一个合理的数量,所以它是无论如何优化。希望有帮助:) script1.php
include('script2.php'); //now all functions and variables are available to script1
$variable = md5function();
<?php
include("script2.php");
echo get_hero_name("batman");
?>
脚本2.php
function md5function() {
mt_srand(microtime(true)*100000 + memory_get_usage(true));
$randommd5 = md5(uniqid(mt_rand(), true));
return ($randommd5);
}
<?php
function get_hero_name($hero){
switch ($hero) {
case "batman":
$return_var = "Bruce Wayne";
break;
case "superman":
$return_var = "Clark Kent";
break;
Default:
$return_var = "Papa Smurf";
break;
}
return($return_var);
}
?>
您读过吗?我了解基本功能,包括:,我只是希望有一个解决方案,可以让script2.php独立于它在文件系统中的位置执行,这样它就可以使用相对的文件路径并从任何地方被调用。这与我对你的问题的解释有点不同。我想我的措辞很糟糕,因为每个人都在做相同的假设。