【问题标题】:How to pass global variable inside php static function如何在php静态函数中传递全局变量
【发布时间】:2020-06-15 09:59:34
【问题描述】:

我正在尝试在 php 静态函数上传递变量。我试过这段代码,但变量值没有传递给静态函数。这是我的代码

 $ses1=$_SESSION['new']['user'];
    static function simple ( $request, $conn, $table, $primaryKey, $columns )
    {
        $bindings = array();
        $db = self::db( $conn );
        $limit = self::limit( $request, $columns );
        $order = self::order( $request, $columns );
        $where = self::filter( $request, $columns, $bindings );
        $data = self::sql_exec( $db, $bindings,
            "SELECT ".implode(", ", self::pluck($columns, 'db'))."
             FROM $table where user = '$ses1'
             $where
             $order
             $limit"
        );
        $resFilterLength = self::sql_exec( $db, $bindings,
            "SELECT COUNT({$primaryKey})
             FROM   $table where user = '$ses1'
             $where"
        );
        $recordsFiltered = $resFilterLength[0][0];
        $resTotalLength = self::sql_exec( $db,
            "SELECT COUNT({$primaryKey})
             FROM   $table where user = '$ses1'"
        );
        $recordsTotal = $resTotalLength[0][0];

【问题讨论】:

  • “我试过这段代码,但变量值没有传递给静态函数。” - 你有没有试过添加一个新的方法参数,然后在你调用方法时传递?请向我们展示您是如何调用该方法的,并说明您尝试时会发生什么。

标签: php static-classes


【解决方案1】:

您可以使用global 调用它

static function simple ( $request, $conn, $table, $primaryKey, $columns )
{
    global $ses1;
    echo $ses1;
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多