代码之家  ›  专栏  ›  技术社区  ›  xerocool

如何在类中定义/声明变量,以便在PHP中的其他文件中访问它?

  •  1
  • xerocool  · 技术社区  · 9 年前

    我需要一个变量,它在所有正在使用的PHP文件中都可以访问,也就是说,我应该能够读取它并更改它的值。

    我试图用变量x在文件中声明一个类:

    在file1.php中

    public class sample{
        public static $curruser = '0';
    
        public function getValue() {
            return self::$curruser;
        } 
    
        public function setValue($val){
            self::$curruser = $val;
        }
    }
    

    在file2.php中通过调用 sample::setValue($val) 。此页面重定向到file3.php

    我需要访问这个变量file3.php:

    include 'file1.php';
    print sample::getValue();
    

    这给了我 0 而不是我在file2.php中设置的值。

    显然,我对PHP中静态变量的理解有点不稳定。是否有适当的方法跨文件设置和访问变量?

    2 回复  |  直到 9 年前
        1
  •  0
  •   xamoxer1    7 年前

    如果希望数据在请求之间持久化,请尝试使用会话或某种缓存机制。

        2
  •  0
  •   Aref Anafgeh    9 年前

    我建议这样定义一个常量:

    define('CONSTANT_NAME' ,$value);
    

    并按如下方式访问值:

    echo CONSTANT_NAME;
    

    或者使用静态函数、静态值和静态函数,如下所示:

    public static function setValue($val){
        self::$curruser = $val;
    }
    public static function getValue() {
        return self::$curruser;
    }