- var_dump: documentation ( source)
<?php
class Foo
{
private $bar = 'A';
public function withNewBar($bar)
{
$obj = clone($this);
$obj->bar = $bar;
return $obj;
}
public function changeBarOnANewFoo($bar)
{
$obj = new Foo();
$obj->bar = $bar;
return $obj;
}
public function changeBarOnAnotherFoo(Foo $obj, $bar)
{
$obj->bar = $bar;
}
public function bar()
{
return $this->bar;
}
}
$one = new Foo();
$two = $one->withNewBar('B');
$three = $one->changeBarOnANewFoo('C');
$four = new Foo();
$one->changeBarOnAnotherFoo($four, 'D');
var_dump($one->bar() === 'A' );
var_dump($two->bar() === 'B' );
var_dump($three->bar() === 'C' );
var_dump($four->bar() === 'D' );