首页 > 解决方案 > Laravel,从 PHP 包装文件执行类函数

问题描述

我有一个 Laravel 应用程序,其中有两个 PHP 文件,其中一个基本上是带有文本行的包装器和对另一个文件中函数的调用。

当我进入 powershell 并运行php refresh.php时,它运行下面的文件但只打印出行,它不执行 classes 函数,它只打印出行。

如何运行此刷新文件以使其正确执行刷新功能Q_Temp.php

刷新.php

    <? php require_once ('Q_temp.php');


    echo "start \n\n";
    echo Q::refresh();
    echo "\n done \n";
    ?>

Q_temp.php

    Class Q {
      function refresh()
        {
            $sql = "select C, S, P, Q FROM tbl1";
            $result_set = Iseries::runQuery_simple($sql);
            $log = "";
            foreach ($rr as $row) {
                $log .= "EXECUTING: $sql -- ";
                $res = $this->add_new($row['S'], $row['P'], $row['Q'], $row['C']);
                $log .= "$res \n";
            }
            return $log;
          }
        }

标签: php

解决方案


$rr在你的foreach循环中是未定义的。

它应该是这样的:

Class Q {
  static function refresh()
    {
        $sql = "select C, S, P, Q FROM tbl1";
        $result_set = Iseries::runQuery_simple($sql);
        $log = "";
        foreach ($result_set as $row) {
            $log .= "EXECUTING: $sql -- ";
            $res = $this->add_new($row['S'], $row['P'], $row['Q'], $row['C']);
            $log .= "$res \n";
        }
        return $log;
      }
    }

推荐阅读