使用 php-r 在 PHP 内部调用 R


using php-r to call R inside PHP

我想在PHP中使用php-r使用R。由于我对PHP非常陌生,如果有人指导我如何在xampp中安装php-r并运行相同的内容,我将不胜感激。

我尝试将 PHPR 目录放在 htdocs 中,并使用 php 访问它

<?php
use Kachkaev/PHPR/RCore;
use Kachkaev/PHPR/Engine/CommandLineREngine;
$r = new RCore(new CommandLineREngine('/usr/bin/R'));
$result = $r->run(<<<EOF
x = 1
y = 2
x + y
x + z
x - y
EOF
    );
echo $result;
?>

这将返回一个错误

致命错误:在 中找不到类"Kachkaev''PHPR''RCore" /opt/lampp/htdocs/testserver/test.php 在第 6 行

注意:我的 R 安装在/usr/bin/R

use Kachkaev/PHPR/RCore;
use Kachkaev/PHPR/Engine/CommandLineREngine;

我怀疑你混淆了use声明的目的。它将命名空间导入到当前代码中。因此,它使用命名空间分隔符 - 反斜杠,而不是正斜杠:

use Kachkaev'PHPR'RCore;
use Kachkaev'PHPR'Engine'CommandLineREngine;

在导入命名空间之前,PHP 必须了解关联的代码。最基本的方法是使用 include()require() 语句:

require /path/to/htdocs/php-r/src/Kachkaev/PHPR/RCore.php

请注意,这些是文件系统路径,而不是 URL。 如果找不到文件,require将引发错误,include不会。

大多数现代项目都有一个自动加载组件,例如 作曲家 不过,它会为您处理这个问题。设置完成后,您只需将其添加到composer.json文件中:

{
    "require": {
        "kachkaev/php-r": "dev-master"
    }
}