- var_dump: documentation ( source)
<?php
class Point {
public function __construct(private int $x, private int $y) {}
protected function modClone(...$args): static {
$new = clone($this);
foreach ($args as $k => $v) {
$new->$k = $v;
}
return $new;
}
public function moveUp(int $amt) { return $this->modClone(y: $this->y + $amt); }
}
$p1 = new Point(3, 5);
$p2 = $p1->moveUp(4);
var_dump($p2);