Php 从另一个类更新对象状态

Php 从另一个类更新对象状态,php,Php,大家好,我是这里的noob,我是hp 我想从另一个类更新一个正在退出的对象状态 所以在主文件中我有 $obj1 = new class1(); $obj2 = new class2(); 在class1中,我有一个setter方法来改变对象的状态 所以,我正在做的是,从一个现有的class2方法来看,是这样的 $obj1->updateName('Bob'); 静态方法是不好的,因为我以后必须关联到相同的对象状态 这里有一个一页的例子 class class1(){ priv

大家好,我是这里的noob,我是hp

我想从另一个类更新一个正在退出的对象状态

所以在主文件中我有

$obj1 = new class1();
$obj2 = new class2();
在class1中,我有一个setter方法来改变对象的状态

所以,我正在做的是,从一个现有的class2方法来看,是这样的

$obj1->updateName('Bob');
静态方法是不好的,因为我以后必须关联到相同的对象状态

这里有一个一页的例子

class class1(){

    private $name = '';

    public function updateName($nameIn){
        $this->name = $nameIn;
    }

}

class class2(){

    public function someFuntion(){

        //OTHER CODE//

        $obj1->updateName('Bob');
    }
}


$obj1 = new class1();
$obj2 = new class2();

$obj2->someFuntion();

希望这有点道理。

您可以始终将
$obj1
作为参数传递给某个函数

class class1(){
    private $name = '';

    public function updateName($nameIn){
        $this->name = $nameIn;
    }
}

class class2(){
    public function someMethod(class1 $class){
        $class->updateName('Bob');
    }
}


$obj1 = new class1();
$obj2 = new class2();

$obj2->someMethod($obj1);

您必须传递
$obj1
作为对
class2::someFunction()
的引用:

请注意,通过引用传递的指令是
someFunction
定义的一部分,它在参数前面加上
&

class class2(){

    public function someFunction(&$obj1){

        //OTHER CODE//

        $obj1->updateName('Bob');
    }
}

$obj1 = new class1();
$obj2 = new class2();

$obj2->someFunction($obj1);