我想在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"
}
}