Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过引用将对象传递到另一个类_Php_Oop - Fatal编程技术网

Php 通过引用将对象传递到另一个类

Php 通过引用将对象传递到另一个类,php,oop,Php,Oop,我确实看到了这个问题,但它并没有完全回答我的问题 如果我这样做: $obj1 = new ObjectOne(); 然后这个: $obj2 = new ObjectTwo($obj1); $obj2->someFunction(); 如果someFunction()修改传递给它的对象的属性,那么$obj1和$obj2->passedInObject是否都会有效更新?我尝试了下面的代码,它可以正常工作。MyObject中的变量在原始对象中递增 <?php class MyObje

我确实看到了这个问题,但它并没有完全回答我的问题

如果我这样做:

$obj1 = new ObjectOne();
然后这个:

$obj2 = new ObjectTwo($obj1);
$obj2->someFunction();

如果
someFunction()
修改传递给它的对象的属性,那么
$obj1
$obj2->passedInObject
是否都会有效更新?

我尝试了下面的代码,它可以正常工作。
MyObject
中的变量在原始对象中递增

<?php 
class MyObject {
     public $var;
}

class MyObjectTwo {
    public $objVar;
    function __construct($aObj1) {
        $this->objVar = $aObj1;
    }

    public function someFunction() {
        $this->objVar->var++;
    }
}

$obj1 = new MyObject();
$obj1->var = 5; // Originally set to 5

$obj2 = new MyObjectTwo($obj1);
$obj2->someFunction();
echo $obj1->var; // Prints 6