如何在 php 静态函数中传递全局变量
How to pass global variable inside php static function
我正在尝试在 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];
你可以用global
调用它
static function simple ( $request, $conn, $table, $primaryKey, $columns )
{
global $ses1;
echo $ses1;
...
我正在尝试在 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];
你可以用global
static function simple ( $request, $conn, $table, $primaryKey, $columns )
{
global $ses1;
echo $ses1;
...