代码之家  ›  专栏  ›  技术社区  ›  David Refoua TaW

如何在PHP中修改类的静态属性?

  •  0
  • David Refoua TaW  · 技术社区  · 6 年前

    class MyClass
    {
    
        public static $test = 'foo';
    
        public function example()
        {
            return Self::$test;
        }
    
    }
    
    // What I'm trying to do
    MyClass->$test = 'bar'; 
    
    $test = new MyClass();
    echo $test->example(); // Should return `bar` instead of `foo`.
    

    这在PHP中是可能的吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   comphonia    6 年前

    您的思路是正确的,只需以Class:$test的形式访问变量即可

    class MyClass
    {
        public static $test = 'foo';
    
        public function example()
        {
            return Self::$test;
        }
    }
    
    MyClass::$test = 'bar'; 
    
    $test = new MyClass();
    echo $test->example(); // returns bar