PHP使用';评估';作为函数(获取返回值) 背景

PHP使用';评估';作为函数(获取返回值) 背景,php,4d-database,Php,4d Database,我用的是一台电脑。4D有一个内置的,但在一个奇怪的方式。我必须在我的网页中启动一个内联4D脚本,然后我必须调用PHP Execute,并给它一个.PHP文件的路径 4D脚本 C_TEXT($result) C_BOOLEAN($isOK) $isOK:=PHP Execute("C:\\php\\myPHPFile.php";"my_function";$result) ALERT($Result) myPHPFile.php <?php function my_function

我用的是一台电脑。4D有一个内置的,但在一个奇怪的方式。我必须在我的网页中启动一个内联4D脚本,然后我必须调用
PHP Execute
,并给它一个
.PHP
文件的路径

4D脚本

C_TEXT($result)
C_BOOLEAN($isOK)
$isOK:=PHP Execute("C:\\php\\myPHPFile.php";"my_function";$result)
ALERT($Result)
myPHPFile.php

<?php
    function my_function() {
        return 'Hello World';
    }
?>
您应该能够直接运行PHP本机函数,而无需
.PHP
文件。你会认为那会管用的。事实证明不是这样

所以我试了一下:

C_TEXT($result)
C_BOOLEAN($isOK)
$isOK:=PHP Execute("";"echo";$result;"Hello World") // I can send parameters
ALERT($Result) 
还是不行。结果是我需要使用一个函数来计算代码

C_TEXT($result)
C_BOOLEAN($isOK)
$isOK:=PHP Execute("";"eval";$result;"return 'Hello World;'") // I can send parameters
ALERT($Result) 
这将发送
“return'Hello World';”
eval()
。这仍然不起作用,因为我发现
eval()
实际上不是一个函数。因此,在经历了所有这些背景之后,我需要知道的是:

问题: PHP中是否有一个本机函数可以这样工作:

$evaulatedCode = eval($unEvaluatedCode);

非常接近,分号在
return
语句中的位置不正确。试试这个:

$isOK:=PHP Execute("";"eval";$result;"return 'Hello World';") 

只是,出于好奇,
$Result
在哪里声明/初始化?
C\u TEXT($Result)
是声明。是的,这就是为什么我需要一个像
eval
一样工作的函数,这样我就可以把它放在那里。回答问题部分
eval(\$evaulatedCode=$unEvaluatedCode”)评估
也是我的第一个想法,正如我在问题中解释的那样。但是
eval
不是一个函数。它不返回值。我想当我进一步回顾这篇文章时,我不可能做我想做的事情。事实上,现在我重新检查了文档,我认为您的
return
语句应该已经起作用了。手册上说:eval()返回NULL,除非在求值代码中调用return,在这种情况下,返回传递给return的值。奇怪的是,它不起作用。我想知道4D是否只是没有把eval语句当作一个官方的“函数”。我想如果它有自己的PHP解释器而不是使用真实的东西,一切都是可能的。你把分号改好了吗?你把它放在单引号里了。
$evaulatedCode = eval($unEvaluatedCode);
$isOK:=PHP Execute("";"eval";$result;"return 'Hello World';")