0

我必须使用 ruby​​ 而不是 php,如果不使用 notloggedin.rhtml,则需要告诉 ruby​​ 如果登录使用使用loggedin.rhtml。但文件仅包含页面的一部分菜单,因此它类似于 php 包含函数但带有 if 语句

4

1 回答 1

1

Ruby 可以执行 shell 脚本,PHP 也不例外。

if logged_in?
  output = `this.php`
else
  output = `that.php`
end

这将执行this.phporthat.php并将脚本输出存储在 中output,假设脚本具有执行权限和适当的shebang

#!/usr/bin/env php
<?php
   echo "hello world";
?>

请注意,这就像在命令行中使用 PHP一样,脚本无权访问 Rails 环境中的任何对象,即,您不能使用$_REQUESTor之类的变量$_SESSION。如果您需要脚本中的任何数据,则必须将其作为参数显式传递。

于 2012-07-20T08:05:17.503 回答