使用PHP在对象中设置公共值

时间:2012-07-26 08:47:49

标签: php oop methods static public

我想使用公共方法在对象中设置我的值。但我找不到让它发挥作用

<?php
        class User{
            public $id;

            public function ToSynchData(){
                $this->$id = "1";
            }
        }
        $new = new User;
        $new->ToSynchData();
        $new->$id;
    ?>

3 个答案:

答案 0 :(得分:2)

public $id;

public function ToSynchData(){
    $this->id = 1;
}

$new = new User;
$new->ToSynchData();
echo $new->id; // 1

编辑: 为什么一下子静止?

答案 1 :(得分:2)

class User{
    public $id;
    public function ToSynchData(){
        $this->id = "1";
    }
}

$new = new User();
$new->ToSynchData();
print_r($new->id);

答案 2 :(得分:1)

您正尝试使用->访问静态属性,而明确写入here

  

无法使用对象通过对象访问静态属性   箭头操作符 - &gt;。

因此要访问它,您必须将其从static public更改为public