- var_dump: documentation ( source)
<?php
trait Traitor {
public function cloneMutated($settings)
{
$object = clone $this;
foreach ($settings as $name => $val) {
$object->$name = $val;
}
return $object;
}
}
class Q {
use Traitor;
private $foo;
protected $bar;
public function __construct($foo, $bar) { $this->foo = $foo; $this->bar = $bar; }
}
$a = new Q(1, 2);
$b = $a->cloneMutated(["bar" => 3]);
var_dump($b);
$c = $a->cloneMutated(["foo" => 4]);
var_dump($c);